首页 > 解决方案 > 使用新的 VS2019 代理构建 PCL 库失败?

问题描述

如果我将 AzureDevOps CI 通道从Hosted VS2017代理切换到Hosted Windows 2019 with VS2019代理,构建会中断:

##[section]Starting: PowerShell Script
==============================================================================
Task         : PowerShell
Description  : Run a PowerShell script on Windows, macOS, or Linux.
Version      : 2.140.2
Author       : Microsoft Corporation
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613736)
==============================================================================
Generating script.
Formatted command: . 'd:\a\1\s\build.ps1'
##[command]"C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'd:\a\_temp\23906d3e-3711-4e1b-8106-8a59074e5e3c.ps1'"
Preparing to run build script...
Running build script...
Could not load D:\a\1\s\tools\Addins\Cake.SemVer.3.0.0\lib\netstandard2.0\Cake.SemVer.dll (missing Semver, Version=2.0.4.0, Culture=neutral, PublicKeyToken=null))

========================================
libs
========================================
MSBuild auto-detection: using msbuild version '16.0.360.33175' from 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\bin'.
##[error]Cake.exe : D:\a\1\s\Source\ZXing.Net\Source\lib\zxing.portable.csproj(341,11): error MSB4226: The imported project 
##[error]"C:\Program Files (x86)\Microsoft Visual 
Studio\2019\Preview\MSBuild\Microsoft\Portable\v4.5\Microsoft.Portable.CSharp.targets" was not found. Also, tried to 
find "Microsoft\Portable\v4.5\Microsoft.Portable.CSharp.targets" in the fallback search path(s) for 

##[error]$(MSBuildExtensionsPath32) - "C:\Program Files (x86)\MSBuild" . These search paths are defined in "C:\Program Files 

##[error](x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\bin\msbuild.exe.Config". Confirm that the path in the 

##[error]<Import> declaration is correct, and that the file exists on disk in one of the search paths.

##[error]At D:\a\1\s\build.ps1:233 char:1

##[error]+ &$CAKE_EXE $cakeArguments

##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~

##[error]    + CategoryInfo          : NotSpecified: (D:\a\1\s\Source...e search paths.:String) [], RemoteException

##[error]    + FullyQualifiedErrorId : NativeCommandError

##[error] 

##[error]PowerShell exited with code '1'.
##[section]Finishing: PowerShell Script

CI 正在尝试从 github 构建这个开源项目dev的分支。

这是否意味着 VS2019 现在不支持构建 PCL 项目了?有什么修复建议吗?

标签: c#.netmsbuildazure-devopsportable-class-library

解决方案


这是否意味着 VS2019 现在不支持构建 PCL 项目了?有什么修复建议吗?

根据Visual Studio 2019 Preview 的文档项目迁移和升级参考

在此处输入图像描述

因此,Visual Studio 2019 仍然支持构建 PCL 项目。

出现此问题的原因是 Hosted Windows 2019 with VS2019 agent.NET Portable Library targeting pack默认不安装组件:

在此处输入图像描述

您可以查看Visual Studio 2019 Enterprise以了解更多详细信息。

要解决此问题,您可以创建私有代理并安装该组件。

希望这可以帮助。


推荐阅读