DrG*_*iff 4 azure-devops azure-pipelines .net-5 dotnetcorecli
我有一个使用以下框架构建的项目:
<TargetFrameworks>netstandard2.0;netstandard2.1;net5.0</TargetFrameworks>
Run Code Online (Sandbox Code Playgroud)
这在我的本地计算机上编译得很好,但是当我将其推送到 Azure 时,它失败了。
当我的 YAML 文件中有以下内容时:
variables:
solution: '**/*.sln'
buildConfiguration: 'Release'
buildPlatform: 'Any CPU'
platform: x64
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
Run Code Online (Sandbox Code Playgroud)
然后我得到:
##[错误]C:\Program Files\dotnet\sdk\3.1.403\Microsoft.Common.CurrentVersion.targets(1177,5): 错误 MSB3644: 找不到 .NETFramework,Version=v5.0 的参考程序集。要解决此问题,请安装此框架版本的开发人员包(SDK/目标包)或重新定位您的应用程序。您可以在 https://aka.ms/msbuild/developerpacks下载 .NET Framework 开发人员包
如果我尝试
- task: VSBuild@1
displayName: 'Build all'
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
maximumCpuCount: true
Run Code Online (Sandbox Code Playgroud)
我得到:
##[错误]C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1177,5):错误 MSB3644:.NETFramework 的参考程序集,Version=v5.0 未找到。要解决此问题,请安装此框架版本的开发人员包(SDK/目标包)或重新定位您的应用程序。您可以在 https://aka.ms/msbuild/developerpacks下载 .NET Framework 开发人员包
<TargetFrameworks>netstandard2.0;netstandard2.1;netcoreapp3.1</TargetFrameworks>您的项目未成功生成的原因是 Microsoft 托管代理未安装 .NET 5.0 SDK。
您可以使用Use.NET Core Task下载.NET 5.0 SDK :
- task: UseDotNet@2
inputs:
packageType: 'sdk'
Version: '{version}'
includePreviewVersions: {true/false}
Run Code Online (Sandbox Code Playgroud)
该任务可以从网络下载特定版本的.Net SDK并将其添加到PATH中。
此外,由于您在项目中使用多个版本的 .NET,因此您可以使用此任务来指定在以下任务中将使用哪个版本的 .NET。
换句话说,这个任务有两个作用:
| 归档时间: |
|
| 查看次数: |
4277 次 |
| 最近记录: |