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

本文关键字:文件 影响 CS 何获取 获取 XSD | 更新日期: 2023-09-27 18:37:04

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

我是否必须从项目中删除 .xsd 文件,使用 XSD 生成并新建.cs文件.exe然后再次添加它,或者当我通过架构资源管理器对 xsd 进行更改时,VS2010 是否有一种自动更新.cs的方法?

谢谢!

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

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

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

(注意我没有在VS 2010上尝试过,但它在VS2002,VS2003,VS2005和VS2008上完美运行)

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

我添加了一个预构建事件,其中包含如下行:

"$(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文件,因此可能需要提取任何常见类型,以便它们不会创建两次。

如果我不这样做,它将创建名称略有不同的相同类型,例如"签名"、"签名 1"、"签名 2"等......