【问题标题】:Classes generated by XML Data Generator Tool are not contained within the specified namespaceXML 数据生成器工具生成的类不包含在指定的命名空间中
【发布时间】:2011-08-02 18:12:28
【问题描述】:

我遇到了与此连接问题中描述的相同的问题

http://connect.microsoft.com/VisualStudio/feedback/details/577382/classes-generated-by-xml-data-generator-tool-are-not-contained-within-the-specified-namespace

“在 C++/CLI 项目中使用 XML 数据生成器工具的 XSD 文件将创建一组不在命名空间内的类。这些类应在 XML 数据生成器工具的命名空间属性指定的命名空间内. 这是在将 VS2008 项目升级到 VS2010 时检测到的。"

我看到 /namespace 选项在 XML 数据生成器工具的命令行上,但它仍然没有写入命名空间。

在 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 工具也写命名空间。

【问题讨论】:

    标签: namespaces xsd c++-cli xsd.exe


    【解决方案1】:

    对于xsd.exe,参数/n: 用于指定命名空间。不要在参数和值之间加空格。

    例子:

    xsd myschema.xsd /c /n:MyNamespace

    【讨论】:

    • 语法 /n 足以让我添加命名空间。不需要:就我而言
    【解决方案2】:

    Visual Studio 使用 MSBuild 构建解决方案中指定的目标。他们似乎正在放弃 C++,转而使用 VB 和 C#。 VS 2010 在

    中使用设置
    C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets`
    

    文件。 XSD 部分缺少一个条目,即“命名空间”。我把我的设置为

    Namespace ="%(Xsd.Namespace)"
    

    并编译了 xsd,这些类现在位于我在项目属性页中指定的命名空间中。

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多