我的netcoreapp2.2项目在本地VS中成功构建,但是在Azure Pipeline上失败。
下面的“脚本:dotnet构建”任务是在创建“新管道”时选择“ ASP.NET Core”时添加的默认任务。 我尝试将其更改为“ DotNetCoreCLI @ 2”任务,但该任务失败,并出现程序包不兼容错误。在下面添加“ NuGetToolInstaller @ 1”任务之前,我遇到了相同的错误。
此任务的YML文件是;
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '2.2.104'
- task: NuGetToolInstaller@1
inputs:
versionSpec: '5.2.0'
checkLatest: true
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: 'WebJobCore.sln'
feedsToUse: 'select'
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'WebJobArtifact'
publishLocation: 'Container'
使用以下日志生成失败;
Starting: dotnet build Release
==============================================================================
Task : Command line
Description : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version : 2.151.2
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
Script contents:
dotnet build --configuration Release
========================== Starting Command Output ===========================
Restoring packages for /home/vsts/work/1/s/WebJobCore/WebJobCore.csproj...
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1608: Detected package version outside of dependency constraint: Microsoft.Data.Services.Client 5.6.4 requires Microsoft.Data.OData (= 5.6.4) but version Microsoft.Data.OData 5.8.4 was resolved. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'Microsoft.Azure.ConfigurationManager 4.0.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'Microsoft.Azure.WebJobs.Extensions.GroupQueueTrigger 2.0.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'Microsoft.Data.Services.Client 5.6.4' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'Microsoft.IdentityModel.Protocol.Extensions 1.0.2.205111437' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'NLog.AzureAppendBlob 1.0.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'NLog.Extensions 1.0.1' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'TransientFaultHandling.Core 5.1.1209.1' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj : warning NU1701: Package 'windowsazure.mediaservices 4.2.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project. [/home/vsts/work/1/s/WebJobCore.sln]
Generating MSBuild file /home/vsts/work/1/s/WebJobCore/obj/WebJobCore.csproj.nuget.g.props.
Restore completed in 709.14 ms for /home/vsts/work/1/s/WebJobCore/WebJobCore.csproj.
sed: can't read s/\(.*\)"/\1";/: No such file or directory
/home/vsts/.nuget/packages/msbuilder.thisassembly.project/0.3.4/build/MSBuilder.ThisAssembly.Project.targets(84,3): error MSB3073: The command "sed -i '' 's/\(.*\)"/\1";/' 'obj/Release/netcoreapp2.2/ThisAssembly.Project.g.cs'" exited with code 2. [/home/vsts/work/1/s/WebJobCore/WebJobCore.csproj]
Build FAILED.
"Bash exited with code '1'."
答案 0 :(得分:0)
Azure管道-dotnet构建失败,并显示“错误MSB3073:命令netcoreapp2.2 / ThisAssembly.Project.g.cs'退出,代码为2。”
根据错误消息:
sed:无法读取s /(.*)“ / \ 1”; /:没有此类文件或目录
当您收到MSBuild错误MSB3073时,这意味着项目中自定义命令行的路径不正确。您需要检查该命令行的路径。
此外,错误表明它找不到文件或目录s/\(.*\)"/\1
,因此,您需要确保构建服务器中的路径正确。您可以直接在构建服务器中执行该命令行,以检查其是否正常运行。
希望这会有所帮助。