【问题标题】:How to generate xsd from C# class file using visual studio command prompt?如何使用 Visual Studio 命令提示符从 C# 类文件生成 xsd?
【发布时间】:2014-04-07 04:33:24
【问题描述】:

我正在使用以下命令,但它不起作用:

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin>xsd /c /l:cs SubsystemReg.cs

假设这是我的班级:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace PaymentControllerGUI
{
    public class EmptyClass
    {
    }
}

我正在尝试这个。

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin>xsd /c /l:cs EmptyClass.cs

错误:

无效的命令行参数:'SubsystemReg.cs'

【问题讨论】:

标签: c# visual-studio-2010 visual-studio xsd xsd.exe


【解决方案1】:

使用XSD.exe,你应该传递你的类编译所在的DLL文件路径,而不是你传递的CS类代码文件本身现在。

例如,如果您的类是在SubsystemReg.dll 中编译的,则像这样调用 XSD.exe:

XSD.exe C:\SubsystemReg.dll

这是一个来自 MSDN 的示例:

以下命令为所有类型生成 XML 模式 组装 myAssembly.dll 并将它们保存为 schema0.xsd 在当前 目录。

xsd myAssembly.dll  

更新:

您可以通过指定类型的完全限定路径从 DLL 为特定类型生成 XSD,例如:

xsd.exe YourAssembly.dll /type:YourNamespace.YourType

根据您的情况,请执行以下操作:

xsd.exe PaymentControllerGUI.dll /type:PaymentControllerGUI.EmptyClass

【讨论】:

  • 我没有 dll 文件。这个文件是我项目的一部分。我只是将它复制到这个位置并尝试。
  • 所以你必须拥有一个才能实现你想要的。否则,无法使用XSD.EXE
  • 不,不要那样做。这是约定:xsd.exe YourAssembly.dll /type:YourNamespace.YourType
  • 哦,我刚刚想通了。 xsd.exe 有 32 位和 64 位版本。必须将目录更改为 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64 并且它有效!!!!我的 Visual Studio 项目的 dll 是 6 位的
  • @DebbieA 太好了,我很高兴听到。如果对您描述的有帮助,请点赞。
猜你喜欢
  • 2011-08-23
  • 2021-11-07
  • 1970-01-01
  • 2017-11-23
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 1970-01-01
相关资源
最近更新 更多