Visual Studio 2010:IDE 中类的 XML XSD 架构
Posted
技术标签:
【中文标题】Visual Studio 2010:IDE 中类的 XML XSD 架构【英文标题】:Visual Studio 2010 : XML XSD Schema to Classes within the IDE 【发布时间】:2011-06-20 15:19:26 【问题描述】:每当我需要从 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 标配的特性/功能。我宁愿不使用第 3 方插件等
【问题讨论】:
在VS2012中出现你可以将xsd文件添加到你的项目中,它会自动生成类 【参考方案1】:您可以使用C:\program files\Microsoft\SDKs\Windows\v7.0A\Bin\xsd.exe
中的XSD.exe。按照步骤将 XSD 添加为 VS 工具菜单中的菜单项
-
将 XSD 文件添加到您的 VS 项目中
转到 Visual Studio 工具菜单
转到外部工具
添加
输入标题为 XSD
命令作为系统中 xsd 的路径(通常是
C:\program files\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe
.
)
参数为$(ItemPath) /c /l:cs
初始目录为$(ItemDir)
检查使用输出窗口
就是这样,按确定
然后单击解决方案资源管理器中的 Xsd 文件,然后单击工具--Xsd,这将在与 .XSD 文件相同的文件夹中生成类。如果您尚未在步骤 1 中添加文件,则必须通过右键单击解决方案资源管理器中的项目,选择添加 --> 现有项目,然后选择 .CS 文件,将生成的 .cs 文件添加到项目中从 .XSD 生成的文件应该存在并且可以包含在内。
【讨论】:
你的答案掉线了......“相同的 f”,剩下的答案是什么? 谢谢,但要设置生成类的命名空间,我必须制作一个小模块。将 /n:"Namespace Here" 附加到 Arguments 并单击“Prompt for aguments”。现在,您只需在出现提示时将 Namespace Here 更改为您的命名空间。我最初尝试使用默认命名空间,但看不到这样做的方法。如果有人知道更好的方法,请告诉我。谢谢 太棒了。从来不知道那个外部工具选项是干什么用的。这么多新活动 我添加了以下参数,以便我可以通过在编辑器中选择一些文本来指定生成代码的命名空间:/n:$(CurText)
我在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 中找到了 xsd.exe【参考方案2】:
Visual Studio 2010 本身不包含任何此类一般用途的功能。
Visual Studio 在 ADO.NET 中的类型化数据集上下文中对这种 XSD 到代码转换的支持有限 - 但这些不是通用解决方案,它们正是针对这种使用场景。
但是请检查XSD2Code 插件,它正是这样做的
【讨论】:
如果必须在每台使用该解决方案的机器上安装插件,我希望避免使用第三方插件。在 Xsd2Code 的情况下,仅在一台机器上安装插件是否可行? @MrEyes:您只需要机器上应该从 XSD 转换为 C# 的插件 - 其余程序员只需使用生成的 C# - 不需要每台机器上都需要插件......正如我所说:VS 中没有 nothing 通用功能可以做到这一点 - 所以它要么是插件,要么什么都没有...... 我安装了 Xsd2Code 3.4 版,当我在解决方案中右键单击 xsd 文件时,没有看到“运行 Xsd2Code Generation”菜单选项。我还检查了这是否适用于我的 VS2008 安装,但运气不好。然后我安装了 3.4 版并尝试了 beta 版。是什么赋予了?我做错了吗?【参考方案3】:以前在 Visual Studio 中有一种方法可以做到这一点。您可以右键单击一个 xml 模式,然后在上下文菜单中有一个选项,上面写着“生成数据集”之类的内容。我以前经常使用它,而且效果很好。出于某种神秘的原因,微软删除了该功能——可能是在 VS 2003 之后?我不知道为什么可以使用命令行实用程序,并且不能从菜单执行相同的代码,但它确实存在。
【讨论】:
以上是关于Visual Studio 2010:IDE 中类的 XML XSD 架构的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2010 中的设置是与解决方案一起存储还是与 IDE 一起存储?
visual studio 2010的应用程序在哪,那个文件里的哪个?
开发工具:Microsoft Visual Studio 2010