Visual Studio 2010:IDE中的XML XSD架构到类

MrE*_*yes 30 xml schema xsd class visual-studio-2010

每当我需要从XML XSD架构创建类文件时,我在VS中使用.NET xsd.exe工具和预构建事件,以确保我的类和模式在构建时彼此同步.这当然很好,但是......

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

例如,我会将XSD添加到项目集某些选项中,VS接管并为我创建我的类.

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

编辑 我也注意到在XSD文件的属性下我可以选择设置一个Custom Tool,阅读这个看起来接近我的目标,但我不确定这个属性的正确用法.

编辑 此外,如果有解决方案,我需要基于VS2010标配的功能/功能.我宁愿不使用第三方插件等

小智 57

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

  1. 将XSD文件添加到VS项目中
  2. 转到visual studio工具菜单
  3. 转到外部工具
  4. 输入标题为XSD
  5. 命令作为系统中xsd的路径(通常)C:\program files\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe.
  6. 争论为 $(ItemPath) /c /l:cs
  7. 初始目录为 $(ItemDir)
  8. 检查使用输出窗口,它按下确定

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

  • 谢谢,但要设置生成的类的名称空间,我必须做一个小mod.将/ n:"命名空间在此处"添加到参数中,然后单击"提示输入aguments".现在,您需要在命名空间出现时将Namespace Here更改为您的命名空间.我最初尝试使用默认命名空间,但看不到这样做的方法.如果有人知道更好的方式,请告诉我.谢谢 (3认同)
  • 我在C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin中找到了xsd.exe (3认同)

mar*_*c_s 13

Visual Studio 2010本身不包含任何此类功能以供一般使用.

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

请查看完全相同的XSD2Code加载项

在此输入图像描述