CI 服务器上缺少 Microsoft.Windows.UI.Xaml.CSharp.targets

问题描述 投票:0回答:1

问题

我刚刚承诺将 UWP 应用程序添加到源代码管理中。然而,我的 CI 服务器(Jenkins)似乎不喜欢这样:

错误 MSB4019:导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml 14.0\Microsoft.Windows.UI.Xaml.CSharp.targets" 没找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。

这源于以下 UWP 项目文件导入:

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

在我的本地计算机上,我可以看到该文件位于:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\WindowsXaml\v15.0\Microsoft.Windows.UI.Xaml.CSharp.Targets

显然,这是由于我本地安装了 Visual Studio 2017。但是,CI 服务器没有安装 Visual Studio。我想这就是为什么

MSBuildExtensionsPath
解析为错误中提到的路径。

依赖关系

CI 服务器上已安装以下项目:

  • Visual Studio 构建工具 2017(下载
  • Windows 10 SDK 10.0.15063.468(下载
  • Xamarin.VisualStudio 4.5.0.476(下载
  • .NET Framework 4.5.1-4.7 SDK

我认为这些将包含必要的依赖项,但我在任何地方都找不到

Microsoft.Windows.UI.Xaml.CSharp.targets

解决方法

复制本地机器上的目录

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\WindowsXaml\v15.0

到 CI 服务器

C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v14.0

似乎解决了错误,但感觉很hacky。

问题

有没有办法解决这个问题,而无需在 CI 服务器上安装 Visual Studio 2017 或手动复制/重命名文件?


2018-01-12更新:

这仍然是最新版本 VSBT 的问题。唯一要报告的是错误从 v14 更改为 v15。将同一目录复制到 v15 后,错误再次消失。然而,另一个看似无关的错误出现了:

C:\Program Files (x86)\Microsoft Visual Studio�7\BuildTools\MSBuild .0\Bin\Microsoft.Common.CurrentVersion.targets(1124,5): 错误 MSB3644:框架的参考程序集 未找到“.NETCore,版本=v5.0”。要解决此问题,请安装 此框架版本的 SDK 或 Targeting Pack 或重新定位您的 应用程序到您拥有 SDK 的框架版本 或已安装目标包。请注意,程序集将被解析 来自全局程序集缓存 (GAC) 并将用于代替 参考组件。因此您的装配可能不正确 针对您想要的框架。


更新2018-01-15

.NETCore,Version=v5.0
通过将以下目录从我的本地计算机复制到构建服务器解决了错误:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v5.0

虽然UWP构建成功,但没有生成appxbundle。这似乎表明 VSBT 缺少另一个依赖项。

msbuild uwp continuous-integration
1个回答
0
投票

我们转向了 Azure DevOps,但我们也与 Jenkins 合作了几年。 Jenkins 在安装了 Visual Studio 的计算机上运行,我们已将其更新到最新版本。仅当开发人员使用 VS2019 并且服务器更新到 VS2022 时,由于 .target 引用,我们才遇到问题。在 CI 服务器上安装 Visual Studio 看起来是最佳实践。

也就是说,根据 this StackOverflow 帖子,您可以使用构建工具。 转到 https://visualstudio.microsoft.com/downloads/ 向下滚动,Visual Studio 工具、Visual Studio 2022 构建工具。

© www.soinside.com 2019 - 2024. All rights reserved.