我正在创建一个类库,其中包含从客户端xml文件生成的多个数据集。
我将示例xml文件拖到VStudio中并创建.xsd文件,将它们添加到项目中并将工具设置为MSDataSetGenerator然后(在获得第一个构建错误之后)发现所有生成的类都被称为NewDataSet。我通过在xsd文件的属性对话框中设置工具命名空间来避免构建错误。但是,消耗多个数据集的应用程序代码变得很难看,因为如果没有“NewDataSet”变得模糊,就不能使用“using”。此外,类名“NewDataSet”并没有什么用处。
有没有办法覆盖/影响生成的类的命名?
答案 0 :(得分:7)
我已经看到了这个,并解决了这个问题:
将此添加到您的架构标记...“xmlns:msdata="urn:schemas-microsoft-com:xml-msdata
”
例如,xsd的前两行可能如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
你的xsd可能会将所有内容包装在一个元素中,其名称就是你想要的类名...所以这样做:
<xs:element name="YOUR_CLASSNAME" msdata:IsDataSet="true">
这大致是我为使其发挥作用而做的。
答案 1 :(得分:3)
答案 2 :(得分:1)
VS 2019
更安全的变体是通过VS更改生成的类名称。打开对应的XSD文件,并更改方案的属性Name
(默认为NewDataSet)。
另外,您可以通过通用文本编辑器进行更改,但是必须在文件中找到所有条目“ NewDataSet”(一个以上)。