是否可以从Mac OS使用XSD工具?



我刚刚启动了一个项目,我需要创建一个类来映射XSD文件中的所有XML属性。对于那些具有一些属性的,可以手动完成。对于那些具有很多属性的人来说,创建类需要一些时间。

我发现我可以使用XSD工具链接来实现这一点。事实上,我能够从 XSD 文件生成一个类。但是,它在Windows中使用命令提示符。

CMD生产线:

C:XSD path..xsd myXSDFile.xsd /classes

其中 SDK 8 及更高版本的 XSD 路径(有关详细信息的链接(

还有一个额外的 FX 版本子目录:

%programfiles(x86)%Microsoft SDKsWindows{ver}bin{FXVer} Tools

任何人都知道Mac OS是否可以实现相同的功能吗?有没有办法在这个操作系统中使用XSD工具?还是我们可以使用的类似工具?

不幸的是,

> XSD.exe尚未移植到.NET Core(请参阅此github问题:https://github.com/dotnet/runtime/issues/1391(。他们已经承认了这个问题(2016 年首次提出(,但最后一次更新是 2019 年 12 月,所以不要屏住呼吸。

但是,还有另一种方法可以使用名为 LinqToXsd 的工具为 XSD 生成 C# 类,该工具是另一个由 Microsoft 创建的工具,最初仅作为 .NET Framework 开始,但已移植到 .NET Core 2(请参阅 https://github.com/mamift/LinqToXsdCore(。它可以在支持 .NET Core 2 并生成与 .NET Standard 2.0 兼容的代码的任何版本的 MacOS 上调用。

首先安装 .NET Core 2 for MacOS,然后使用 dotnet 命令安装 LinqToXsdCore:

dotnet tool install LinqToXsdCore -g

然后,可以使用以下命令生成 C# 类:

linqtoxsd gen "pathToFile.xsd"

您可以在此处找到完整说明:https://github.com/mamift/LinqToXsdCore/blob/master/LinqToXsd/README.md

不知道这是否仍然与任何人相关,但是xsd在Mono Framework中移植到Mac上。

我只是用它来转换一些 xsd。它位于:

/Library/Frameworks/Mono.framework/Versions/Current/Commands/xsd

所以只需在你的Mac上安装Mono框架(我已经安装了它,不记得我从哪里得到它......

最新更新