xsd.exe 似乎不适用于具有较新版本 Visual Studio 的 C++

xsd.exe does not seem to work for C++ with newer versions of Visual Studio

我正在尝试使用 xsd.exe 工具从 XML 模式文件生成 C++ 类。根据 ,我应该能够在 Visual Studio 开发人员命令提示符下简单地使用该工具,但它似乎不适用于 Visual Studio 较新版本(2017 或 2019)中的 C++ )

当我尝试执行命令时出现错误:

Error: The CodeDom provider type "Microsoft.VisualC.CppCodeProvider, CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" could not be located.

文档中似乎没有关于此的任何信息,Google 搜索也无济于事...有人知道如何解决这个问题吗?

xsd.exe 在 VS 2017 中被弃用,在 XSD Task 下有一条注释:

Starting in Visual Studio 2017, C++ project support for xsd.exe is deprecated. You can still use the Microsoft.VisualC.CppCodeProvider APIs by manually adding CppCodeProvider.dll to the GAC.

这已在 Microsoft 批准的相关票证 CppCodeProvider not properly installed with VS2017 下的评论中得到证实,该票证已关闭为“设计”。

但是,CppCodeProvider.dll 程序集继续以“使用 C++ 进行桌面开发”工作负载发布,并且仍然可以在 Common7\IDE\PublicAssemblies VS 2017 和 2019 中的目录。可以在 VS 开发人员命令提示符下使用全局程序集缓存工具 gacutil 将程序集添加到 GAC。