Трубопровод Azure - сборка dotnet завершается с ошибкой «ошибка MSB3073: команда netcoreapp2.2 / ThisAssembly.Project.g.cs 'завершена с кодом 2.» - PullRequest
0 голосов
/ 10 октября 2019

Мой проект netcoreapp2.2, который успешно компилируется в локальном VS, но не выполняется на конвейере Azure.

Задача «script: dotnet build» ниже - это задача по умолчанию, которая была добавлена ​​при выборе «ASP.NET». Ядро »при создании« Нового Трубопровода ». Я попытался изменить ее на задачу «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'."

1 Ответ

0 голосов
/ 11 октября 2019

Трубопровод Azure - сборка dotnet завершается с ошибкой «ошибка MSB3073: команда netcoreapp2.2 / ThisAssembly.Project.g.cs 'завершена с кодом 2».

В соответствии с ошибкойсообщение:

sed: невозможно прочитать s /(.*) "/ \ 1"; /: нет такого файла или каталога

Когда вы получили MSBuildошибка MSB3073, это означает, что путь к пользовательской командной строке в вашем проекте неверен. Вам необходимо проверить путь к этой командной строке.

Кроме того, ошибка показывает, что не удалось найти файл или каталог s/\(.*\)"/\1, поэтому необходимо убедиться, что путь указан на сервере сборки. ,Вы можете выполнить эту командную строку непосредственно на сервере сборки, чтобы проверить, работает ли она нормально.

Надеюсь, это поможет.

...