1

我创建了一个 .xsd 文件,然后使用 XSD.exe 生成了 .cs 文件(我使用了 xsd.exe /dataset mySchema.xsd)。一切正常,但突然间,我需要在我的 xsd 中添加一个新字段。

我是否必须从项目中删除 .xsd 文件,使用 XSD.exe 生成和新的 .cs 文件,然后再次添加它,或者当我通过模式浏览器?

谢谢!

4

2 回答 2

3

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

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

(请注意,我没有在 vs 2010 上尝试过,但它与 vs2002、vs2003、vs2005 和 vs2008 完美配合)

[更新] 如果设置了 xsd-file-property customtool = 'MSDataSetGenerator' 它适用于 vs2010

于 2012-06-14T11:37:49.303 回答
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”等...

于 2012-06-14T11:58:12.697 回答