使用xsd.exe生成模式

lm.*_*lm. 6 xsd

我想从xsd.exe为程序集生成一些类型的模式,这里是命令行:

xsd.exe TestAssemby.dll /t:TestType
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

错误:处理'TestAssemby.dll'时出错.无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息

我将引用的dll复制到根据位置的文件夹中.

但仍然得到相同的错误

我有疑问:

  • 这种错误可能是什么原因造成的?
  • 应该如何使用LoaderExceptions属性?(例子会很有帮助)

小智 3

我一直在与这个问题作斗争,但一直未能成功地让xsd.exe在我的机器上从命令行从 DLL 文件中的类生成架构。

\n

最终我启动了一个Windows\xc2\xa0XP虚拟机来运行xsd.exe,效果很好,但可能不是一个令人满意的答案。

\n

无论出于何种原因,当我在 Visual Studio 中创建新的控制台(或可能任何其他类型)应用程序时,我可以添加对xsd.exe 的引用引用并以编程方式引用它,如下所示:

\n
namespace XsdExeTest\n{\n    class Program\n    {\n        static void Main(string[] args)\n        {\n            var rgs = new string[]\n                          {\n                              @"C:\\publish\\bin\\SoAndSo.Library.dll",\n                              "/type:SoAndSoNamespace.SoAndSoClassName"\n                          };\n\n            XsdTool.Xsd.Main(rgs);\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

。。。我得到输出:

\n
\n

写入文件 schema0.xsd

\n
\n

这是一种有点奇怪的解决方法,但如果您手边还没有虚拟机,那么它比启动虚拟机要容易得多。

\n

根据我在网上找到的帮助信息的缺乏,我猜不是每个人都有这个问题。

\n