2011-02-03 55 views
29

每当我需要从XML XSD架构创建类文件时,我都会在VS中使用.NET xsd.exe工具和预先生成的事件来确保我的类和模式在构建时彼此同步。这当然工作正常,但是...Visual Studio 2010:XML XSD架构到IDE中的类

我注意到,如果XSD和派生类在同一个项目中VS理解关系,并在解决方案资源管理器中可视化地显示CS作为XSD文件的子项。所以我想知道在Visual Studio 2010中是否有任何功能在IDE中为我执行类创建,而不是依赖预构建脚本?

例如,我会将XSD添加到项目中,在某处设置一些选项,VS接管并为我创建我的类。

VS 2010是否支持这样的事情?或者我应该停止想知道并继续使用xsd.exe和prebuild。

编辑 我也注意到了XSD文件,我必须设置Custom Tool期权的性质,在阅读说明书,这似乎接近我所瞄准的,但我不能确定正确的用法这个性质。

编辑 此外,如果有一个解决方案,我需要这是基于VS2010标准的特性/功能。我宁愿不使用第三方插件等

+1

它出现在VS2012中,您可以将xsd文件添加到您的项目中,并自动生成类 – msmucker0527 2015-02-16 20:15:25

回答

13

Visual Studio 2010本身不包含任何这样的功能一般消费。

Visual Studio在ADO.NET中的类型化数据集的上下文中对此XSD到代码的转换提供了一些有限的支持 - 但这些不是通用解决方案,它们针对的只是一种使用场景。

做检查出XSD2Code附加所做的正是这

enter image description here

+0

如果必须在使用该解决方案的每台计算机上安装插件,我非常希望避免第三方插件。在Xsd2Code的情况下,只能在一台机器上安装插件是否可行? – MrEyes 2011-02-03 12:37:49

+1

@MrEyes:只有你**需要应用程序中的插件应该从XSD转换为C# - 其余的程序员可以简单地使用生成的C# - 无需在每台机器上安装插件... 。正如我所说:在VS中没有**通用**这样做 - 所以它要么是插件,要么没有任何东西.... – 2011-02-03 13:20:35

3

曾经有这样做在Visual Studio的手段。你可以右键点击一个XML模式,并在上下文菜单中有一个选择,如“生成数据集”。我经常使用它,它运行得很好。出于某种神秘的原因,微软取消了该功能 - 也许在VS 2003之后?我不确定为什么使用命令行实用程序是可以的,并且从菜单执行相同的代码是不行的,但它在那里。

56

您可以使用C:\program files\Microsoft\SDKs\Windows\v7.0A\Bin\xsd.exe中的XSD.exe。按照步骤添加XSD在VS工具菜单

  1. 添加XSD文件到你的VS项目
  2. 转到Visual Studio工具菜单
  3. 转到外部工具菜单项
  4. 添加
  5. 输入标题为XSD
  6. 命令作为系统中xsd的路径(通常为C:\program files\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe。 )
  7. 参数作为$(ItemPath) /c /l:cs
  8. 初始目录$(ItemDir)
  9. 检查使用输出窗口 完蛋了按OK

然后点击你的Solution Explorer中的XSD文件,然后工具 - XSD点击,这将生成与.XSD文件相同的文件夹中的类。如果您在步骤1中没有添加该文件,则必须通过在解决方案资源管理器中右键单击该项目,将生成的.cs文件添加到项目中,选择添加 - >现有项目,然后选择.CS文件从.XSD生成的应该存在并且可以包含。