Windows 10 UWP 桌面桥应用程序 (C++):调试版本中的 VCLibs 依赖项

Windows 10 UWP Desktop Bridge Application (C++): VCLibs dependencies in a debug build

我正在开发一个 Windows 10 UWP 应用程序,带有用 C++ 编写的桌面桥 (用 /ZW 编译)。 可执行文件依赖于 Visual C++ 运行时。

<PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24123.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

到发布版本中的应用程序清单,一切正常。我安装了侧面加载的应用程序。 (MinVersion 是在构建过程中复制到 "Dependencies" 输出文件夹中的 VCLibs 包的版本)

<PackageDependency Name="Microsoft.VCLibs.140.00.Debug.UWPDesktop" MinVersion="14.0.25022.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

到调试版本中的应用程序清单(如此处记录:https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/,请参阅 "For Debugging"),我无法安装错误为 "Windows cannot install package ... because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs 的程序包.140.00.Debug.UWPDesktop”由...发布。

<PackageDependency Name="Microsoft.VCLibs.140.00.Debug" MinVersion="14.0.25022.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

调试版本中的应用程序清单,我可以安装该应用程序,但它也无法启动 "vccorlib140d.DLL was not found"。

如何让调试版本正常工作? 当然,我可以将 VCLibs-DLL 复制到系统的 System32 目录中,但如果调试版本也可以工作,那就太好了 "out of the box".

我使用的是 64 位 Windows 10 企业版 15063.540。

此致, 多米尼克

为了测试调试版本,您需要先手动安装调试 VCLIB 应用程序包。可以在这里找到更多信息:

https://docs.microsoft.com/en-us/troubleshoot/cpp/c-runtime-packages-desktop-bridge