如何获取XSD文件中的更改会影响相关的CS文件?

时间:2012-06-14 11:28:57

标签: c# xml xsd

我创建了一个.xsd文件,然后使用XSD.exe生成.cs文件(我使用过xsd.exe / dataset mySchema.xsd)。一切都运行良好,但突然间,我需要为我的xsd添加一个新字段。

我是否必须从项目中删除.xsd文件,使用XSD.exe生成新的.cs文件,然后再次添加或者是否有自动方式让VS2010在更改时更新.cs xsd通过schema explorer?

谢谢!

2 个答案:

答案 0 :(得分:3)

vs2010项目的简单解决方案是将mySchema.xsd文件作为数据集包含在项目中。如果通过代码或xsd-editor更改xsd vs2010将重新生成cs数据集,如果数据集设置正确的话。

尝试此操作的最简单方法是使用wizzard添加新数据集。

(注意我没有尝试使用vs 2010,但它与vs2002,vs2003,vs2005和vs2008完美配合)

[更新] 如果设置了xsd-file-property customtool ='MSDataSetGenerator',它可以与vs2010一起使用

答案 1 :(得分:0)

我添加了一个Pre-build事件,其中包含以下行:

"$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1\@InstallationFolder)bin\NETFX 4.0 Tools\xsd.exe" "$(ProjectDir)MyFile.xsd"

每次(在编译项目之前)生成.cs文件。这很麻烦,但它确实有效。如果我对此不对,如果没有对它进行任何更改,项目就不会重建。

Xsd2Code对我来说不是一个选项,因为我需要处理许多xsd,xsd.exe允许我这样做。但是,您最终会得到1个巨型.cs文件,因此可能需要提取任何常见类型,以便它们不会被创建两次。

如果我不这样做,它会创建一个名称略有不同的相同类型,例如'Signature','Signature1','Signature2'等......