gpt4 book ai didi

c# - 引用 Windows SDK winmd 文件和 VS Team Services 构建

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:39 31 4
gpt4 key购买 nike

我创建了一个引用两个 Windows SDK 库的 C# .Net 标准库。

enter image description here

引用文献是

  • C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmd
  • C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.Foundation.UniversalApiContract\5.0.0.0\Windows.Foundation.UniversalApiContract.winmd

这适用于我的本地开发机器。

VS Team Services 构建首先显示以下警告:

2018-06-13T01:17:22.3393846Z ##[警告]C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion。目标(2106,5):警告 MSB3245:无法解析此引用。找不到程序集“Windows.Foundation.FoundationContract”。检查以确保程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。

后来失败并出现以下错误:

错误 CS0246:找不到类型或命名空间名称“Windows”(是否缺少 using 指令或程序集引用?)

天真地,我以为我只需要在 Visual Studio 中将 Copy Local to True 设置为 true,一切都会好起来的。我错了。

问题

如何在 VSTS 中构建引用 SDK winmd 文件的项目?

最佳答案

请引用以下步骤来处理此问题:

  1. 在 Visual Studio 中右键单击项目 > 编辑{项目名称}
  2. 将这些程序集的相对路径替换为绝对路径

示例代码:

<ItemGroup>
<Reference Include="Windows.Foundation.FoundationContract">
<HintPath>C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmd</HintPath>
<IsWinMDFile>true</IsWinMDFile>
</Reference>
<Reference Include="Windows.Foundation.UniversalApiContract">
<HintPath>C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.Foundation.UniversalApiContract\5.0.0.0\Windows.Foundation.UniversalApiContract.winmd</HintPath>
<IsWinMDFile>true</IsWinMDFile>
</Reference>
</ItemGroup>

关于c# - 引用 Windows SDK winmd 文件和 VS Team Services 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50828235/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com