6

我已将数据集从一个 csproj 复制到另一个,新项目收到以下编译警告:“自定义工具 'MSDataSetGenerator' 在处理文件 'Client.xsd' 时失败。”

在研究这个警告时,我发现如果我打开 VS cmd 提示符并直接在 xsd 文件上运行 XSD.exe,我会得到更多信息。它说:“错误:只能生成类或数据集之一。”

修复此问题的命令行标志是运行:XSD /d {xsdfilename}

如果我在 cmd 行上运行它,它会生成数据集代码就好了。但我不知道如何让 Visual Studio 做到这一点。有人知道吗?

4

4 回答 4

3

我发现的技巧是删除(或重命名为临时文件以确保安全)与 DataSet 关联的 Client.vb 或 Client.cs 文件的名称。这样,当您将文件添加到项目时,它将检测适当的 XML 相关数据并为您生成一个新类。

于 2008-12-15T15:57:13.267 回答
2

我遇到了同样的问题,并为此找到了手动解决方法。

  1. 打开项目中 XSD 文件的属性。
  2. 从自定义工具属性中删除 MSDataSetGenerator 条目。
  3. 为自定义工具属性重新添加 MSDataSetGenerator 值。

当您将 MSDataSetGenerator 值粘贴回并按 Enter 键时,它将重新生成所需的文件。

当我找到更好的解决方案时,我一定会在这里发帖。

于 2008-12-15T15:54:44.643 回答
0

如果您右键单击项目中的 XSD 文件,则会出现“运行自定义工具”选项。如果 XSD 的自定义工具属性设置为 MSDataSetGenerator,这将重新生成该类。

于 2011-04-12T13:11:18.413 回答
0

就我而言,这个错误:

Error: Can only generate one of classes or datasets.

是因为我忘记在 xsd 命令中添加/c参数:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\xsd.exe" /c myfile.cs
于 2021-04-29T16:52:24.883 回答