在 GithubActions CI 中安装用于 UWP 开发的 SDK?

2024-01-31

我正在尝试构建一些 UWP 库,但收到此错误:

D:\a\ZXing.Net.Xamarin\ZXing.Net.Xamarin\Source\ZXing.Net.Mobile.WindowsUniversal\ZXing.Net.Mobile.WindowsUniversal.csproj(155,3): 错误 MSB4019:导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.CSharp.targets” 没找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。

.csproj 文件中的导入子句如下所示:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />

因此,我尝试通过 Chocolatey 以编程方式在 Windows2019 VM 中安装 UWP 工作负载(均使用这个包 https://chocolatey.org/packages/visualstudio2019-workload-universal and 这个其他 https://chocolatey.org/packages/visualstudio2019-workload-universalbuildtools;不是Windows 10 SDK https://chocolatey.org/packages/windows-sdk-10.1一个是因为它在尝试安装时出现错误):

- run: |
  choco install visualstudio2019-workload-universal
  choco install visualstudio2019-workload-universalbuildtools

但这似乎并没有解决问题(显然,软件包已成功安装),因为我仍然不断收到该编译错误。

也尝试过包含可选包,但无济于事:

choco install visualstudio2019-workload-universal --package-parameters "--includeOptional"

UPDATE: 原来我的 CI VM 已经有了这个文件Microsoft.Windows.UI.Xaml.CSharp.targets,但它位于C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\WindowsXaml\v16.0(以及此版本下子文件夹中的其他版本)。更详细的可以看我的回答。


事实证明,GithubActions VM 中安装的 VS2019 版本确实已经包含 UWP 组件(以及其他组件,例如 Xamarin.iOS、Xamarin.Android、Xamarin.Mac 等);问题是我的构建在某种程度上默认使用旧版本的 MSBuild(位于C:/windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe)不知道这些扩展。

一旦我确定我使用了与 VS2019 捆绑在一起的 MSBuild 版本(%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe)一切又开始工作了。

为了在我的特定构建中修复它,我必须修改build.cake文件(在我看来,这实际上可能是 CAKE 中的一个错误,默认情况下无法检测到 MSBuild 的正确版本......)。如果您想查看确切的修复(使用vswhere找到 MSBuild),它是this https://github.com/nblockchain/ZXing.Net.Xamarin/commit/1a95f0e4fc439a5c091ee2ea0ae052925627d686.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 GithubActions CI 中安装用于 UWP 开发的 SDK? 的相关文章

随机推荐

  • Cloud Identity Platform:IdP 发起的 SAML 流是否可行?

    Google Cloud Identity Platform 有文档 https cloud google com identity platform docs how to enable application for saml用于服务提
  • Angular 11 在 SSR @nguniversal/express-engine 上运行 ReferenceError:globalThis 未定义

    尝试跑步 angular fire在 Angular 11 上和 nguniversal express engine 苏维埃社会主义共和国 当初始化时AngularFireModule in app module ts运行命令时出现错误n
  • CPU的矩阵访问和乘法优化

    我在 java 中制作了一些内在优化的矩阵包装器 在 JNI 的帮助下 需要对此予以肯定 你能给出一些关于矩阵优化的提示吗 我要实施的是 矩阵可以表示为四组缓冲区 数组 一组用于水平访问 一组用于垂直访问 一组用于对角线访问 以及一个命令缓
  • 如何在 Eclipse 中组织 100 多个项目?

    当您拥有 5 种以上语言和 100 多个项目时 在我看来 使用一个工作区的默认设置是不可接受的 因为一个工作区会变得非常混乱 拥有一个庞大而杂乱的工作空间会降低您的工作效率 问题 当您拥有 5 种以上语言和 100 多个项目时 使用 Ecl
  • 替代 mongoDB 3.0[之前版本]中的 $strLenCP 字段

    我目前使用的是 mongo 3 0v 我需要找到聚合命令结果中每个字符串的长度 例如 db getCollection temp find key value1 key value2 key valuee2 此查询给出关键字段的长度 db
  • Python 错误 - TypeError:输入最多需要 1 个参数,得到 3 个 [重复]

    这个问题在这里已经有答案了 有人可以解释为什么我不能在目标变量中使用 your name 吗 my name Bryson my age 29 your name input What is your name your age input
  • mySQL - 使用 mysqli 应用行级锁

    使用 PHP 的 mysqli 如何应用行级锁 行级锁会阻止任何人编辑当前存在的符合您条件的行 对吗 但是他们会阻止用户插入符合您条件的行吗 Thanks 如果您想锁定特定行以防止编辑 请使用FOR UPDATE在 SELECT 查询的末尾
  • 如何用一个数组实现3个栈?

    有时 我会遇到以下面试问题 如何用一个数组实现3个堆栈 当然 任何静态分配都不是解决方案 空间 而非时间 高效 你可以 1 定义两个堆栈 从数组端点开始并沿相反方向增长 2 将第三个堆栈定义为从中间开始并向您想要的任何方向增长 3 重新定义
  • Kotlin:我们可以在Kotlin中使用EventBus(GreenRobot)的@Subscribe吗?

    我的 onEvent 在如下片段中 在我的 Kotlin 函数中捕获活动的身份验证 但是 我无法触发 onEvent Subscribe fun onEvent event AuthenticationEvent if event isAu
  • Object.GetHashCode() 的实现

    我正在阅读有效的 C https rads stackoverflow com amzn click com 0321658701并且有一条评论关于Object GetHashCode 我不明白 Object GetHashCode 使用内
  • 帆升起时出现咕噜声错误

    我在帆升降机上遇到此错误 风帆版本 v0 10 0 rc11 error Grunt module js 340 throw err Error Cannot find module home mandeep freelance hello
  • Android 联系信息更新是否有意?

    我可以通过使用 putExtra 将信息作为额外数据传递来使用 Intent 创建新联系人 是否可以使用信息创建 Intent 如果联系人已在电话簿中 它将使用新信息进行更新 实际上 您可以使用意图通过 ContactsContract 创
  • MVC 3 客户端比较验证

    这里发生了一些奇怪的事情 我有一个基本形式 br
  • WPF 自动调整元素大小

    当应用程序窗口调整大小时 我希望其中的元素也按比例调整大小 那可能吗 我尝试谷歌搜索 但找不到任何与此相关的内容 我的 XAML 代码
  • 使用 NodeJS 解包 PKCS#7 数据有效负载?

    我正在开发适用于 iOS 的 MDM NodeJS 服务器 在 Apple 文档中 给出了以下 ruby 代码 p7sign OpenSSL PKCS7 PKCS7 new req body store OpenSSL X509 Store
  • 国际象棋编程(无人工智能)——动作验证

    我正在尝试编写自己的国际象棋引擎 没有人工智能 我知道有国际象棋游戏入门套件 http www chessbin com page Chess Game Starer Kit aspx我观看它是为了获得灵感 但我没有注意到的是经过验证的动作
  • 如何在 docker-compose 中将主机网络与默认网络结合起来[重复]

    这个问题在这里已经有答案了 我正在构建包含两个容器的 docker compose 服务 这些容器之一 node 旨在支持自动发现机制 并且需要成为主机 LAN 的一部分 因为我需要由 LAN 路由器而不是内置的 docker 路由器处理多
  • 部署 Angular 项目错误类型 MIME (text/html)

    我尝试部署 Angular CLI 6 12 0 项目 当我将 dist 文件夹内容放在服务器上时 出现控制台错误 键入 MIME Le chargement du module l adresse http www sylvainalla
  • C# 中的多个 HTTP 请求

    我需要向不同的服务器并行发送大约 200 个 HTTP 请求并获得响应 我在 C 中使用 HttpWebRequest 类 但是 当并行处理请求时 我没有看到很好的时间改进 例如 如果一个请求需要 3 秒才能获得响应 则并行 2 个请求 6
  • 在 GithubActions CI 中安装用于 UWP 开发的 SDK?

    我正在尝试构建一些 UWP 库 但收到此错误 D a ZXing Net Xamarin ZXing Net Xamarin Source ZXing Net Mobile WindowsUniversal ZXing Net Mobile