我遇到与此连接问题
中描述的问题相同的问题“在C ++ / CLI项目中使用XML数据生成器工具的XSD文件将创建一组不在命名空间内的类。这些类应该在XML数据生成器工具的Namespace属性指定的命名空间内这是在将VS2008项目升级到VS2010时检测到的。“
我看到/ namespace选项位于XML Data Generator工具的命令行上,但仍然没有写入命名空间。
在VS 2008中
// This source code was auto-generated by xsd, Version=2.0.50727.3038.
//
namespace IOLib {
using namespace System;
ref class CPDS;
在VS 2010中
// This source code was auto-generated by xsd, Version=4.0.30319.1.
//
using namespace System;
ref class CPDS;
是否有办法强制xsd工具也可以编写命名空间。
答案 0 :(得分:1)
对于xsd.exe
,参数/n:
用于指定命名空间。不要在参数和值之间放置空格。
示例:
xsd myschema.xsd /c /n:MyNamespace
答案 1 :(得分:0)
Visual Studio使用MSBuild构建解决方案中指定的目标。他们似乎放弃了C ++,转而支持VB和C#。 VS 2010使用
中的设置C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets`
文件。 XSD部分缺少一个条目,即“命名空间”。我把我设置为
Namespace ="%(Xsd.Namespace)"
并编译了xsd,这些类现在位于我在projects属性页中指定的命名空间中。