web-dev-qa-db-ja.com

Azure DevOps VSTS .netcoreビルドは失敗しますが、私のPCでは正常に動作します

.net core2.1.1 MVC Webサイトで依存関係エラーが発生し続けます。それは私のPCからうまく構築します。しかし、Azure DevOpsはリフレレンスを適切にコンパイルしていません。

これを整理するためにいくつかの写真を追加します。enter image description hereenter image description here

DevOpsエラー。最新に更新ナゲットを追加した後

Nugetコマンドが終了コード(1)およびエラー(NU1607:Microsoft.Extensions.DependencyInjection.Abstractionsでバージョンの競合が検出されました。この問題を解決するには、プロジェクトから直接パッケージを参照してください。CBW.Website(> = 1.0.0)- > Microsoft.VisualStudio.Web.CodeGeneration.Design(> = 2.1.5)-> Microsoft.VisualStudio.Web.CodeGenerators.Mvc(> = 2.1.5)-> Microsoft.VisualStudio.Web.CodeGeneration(> = 2.1.5) )-> Microsoft.Extensions.DependencyInjection(> = 2.1.1)-> Microsoft.Extensions.DependencyInjection.Abstractions(> = 2.1.1)CBW.Website(> = 1.0.0)-> Microsoft.AspNetCore.App(> = 2.1.0)-> Microsoft.Extensions.DependencyInjection.Abstractions(> = 2.1.0)。D:\ a\1\s\CBW.Website\CBW.Website.csproj NU1607のエラー:Microsoftでバージョンの競合が検出されました。 Extensions.DependencyInjection.Abstractions。この問題を解決するには、プロジェクトから直接パッケージを参照してくださいCBW.Website(> = 1.0.0)-> Microsoft.VisualStudio.Web.CodeGeneration.Design(> = 2.1.5)-> Microsoft。 VisualStudio.W eb.CodeGenerators.Mvc(> = 2.1.5)-> Microsoft.VisualStudio.Web.CodeGeneration(> = 2.1.5)-> Microsoft.Extensions.DependencyInjection(> = 2.1.1)-> Microsoft.Extensions.DependencyInjection。抽象化(> = 2.1.1)CBW.Website(> = 1.0.0)-> Microsoft.AspNetCore.App(> = 2.1.0)-> Microsoft.Extensions.DependencyInjection.Abstractions(> = 2.1.0))

パッケージを復元できませんでした

*************** Edit csprojのバージョン2.1.5に基づいて、すべてをターゲットにしたnugetエラーを渡しました。今、私は復元エラーに戻ります。 enter image description here

My Csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
     <RuntimeFrameworkVersion>2.1.5</RuntimeFrameworkVersion>
    <UserSecretsId>aspnet-AspNetCorePagesIdentity-***************-***-*******-</UserSecretsId>
    <TypeScriptToolsVersion>3.0</TypeScriptToolsVersion>
    <AutoGenerateBindingRedirects>True</AutoGenerateBindingRedirects>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="Client\assets\controlbyweb-logo.png" />
    <Content Include="Client\assets\webrelay_170.png" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.5" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.5" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Areas\Identity\Services\" />
  </ItemGroup>

  <ItemGroup>
    <Content Update="Client\_ViewImports.cshtml">
      <Pack>$(IncludeRazorContentInPack)</Pack>
    </Content>
  </ItemGroup>


</Project>

****エラー**

2018-10-08T14:44:09.2159846Z   Restoring packages for D:\a\1\s\CBW.Website\CBW.Website.csproj...
2018-10-08T14:44:09.7085782Z C:\hostedtoolcache\windows\dncs\1.0.4\x64\sdk\1.0.4\NuGet.targets(97,5): error : Package Microsoft.VisualStudio.Web.CodeGeneration.Design 2.1.5 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.VisualStudio.Web.CodeGeneration.Design 2.1.5 supports: [D:\a\1\s\CBW.Website\CBW.Website.csproj]
2018-10-08T14:44:09.7094563Z C:\hostedtoolcache\windows\dncs\1.0.4\x64\sdk\1.0.4\NuGet.targets(97,5): error :   - net461 (.NETFramework,Version=v4.6.1) [D:\a\1\s\CBW.Website\CBW.Website.csproj]
2018-10-08T14:44:09.7099570Z C:\hostedtoolcache\windows\dncs\1.0.4\x64\sdk\1.0.4\NuGet.targets(97,5): error :   - netstandard2.0 (.NETStandard,Version=v2.0) [D:\a\1\s\CBW.Website\CBW.Website.csproj]
2018-10-08T14:44:09.7102618Z C:\hostedtoolcache\windows\dncs\1.0.4\x64\sdk\1.0.4\NuGet.targets(97,5): error : Package Microsoft.AspNet.WebApi.Client 5.2.6 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.AspNet.WebApi.Client 5.2.6 supports: [D:\a\1\s\CBW.Website\CBW.Website.csproj]
2018-10-08T14:44:09.7103331Z C:\hostedtoolcache\windows\dncs\1.0.4\x64\sdk\1.0.4\NuGet.targets(97,5): error :   - net45 (.NETFramework,Version=v4.5) [D:\a\1\s\CBW.Website\CBW.Website.csproj]
2018-10-08T14:44:09.7103534Z C:\hostedtoolcache\windows\dncs\1.0.4\x64\sdk\1.0.4\NuGet.targets(97,5): error :   - netstandard2.0 (.NETStandard,Version=v2.0) [D:\a\1\s\CBW.Website\CBW.Website.csproj]
2018-10-08T14:44:09.7103694Z        Package Microsoft.Extensions.WebEncoders 2.1.1 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.Extensions.WebEncoders 2.1.1 supports: netstandard2.0 (.NETStandard,Version=v2.0)
2018-10-08T14:44:10.0475303Z       Package Microsoft.Net.Http.Headers 2.1.1 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.Net.Http.Headers 2.1.1 supports: netstandard2.0 (.NETStandard,Version=v2.0)
2018-10-08T14:44:10.0475426Z       Package Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.1.5 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.1.5 supports: netstandard2.0 (.NETStandard,Version=v2.0)
2018-10-08T14:44:10.0475562Z       One or more packages are incompatible with .NETCoreApp,Version=v2.1.
2018-10-08T14:44:10.0475666Z   
2018-10-08T14:44:10.0475771Z   NuGet Config files used:
2018-10-08T14:44:10.0475909Z       D:\a\1\Nuget\tempNuGet_13.config
2018-10-08T14:44:10.0476013Z   
2018-10-08T14:44:10.0476113Z   Feeds used:
2018-10-08T14:44:10.0476241Z       https://api.nuget.org/v3/index.json
2018-10-08T14:44:10.1010270Z ##[error]Error: C:\hostedtoolcache\windows\dncs\1.0.4\x64\dotnet.exe failed with return code: 1
2018-10-08T14:44:10.1032411Z ##[error]Packages failed to restore
2018-10-08T14:44:10.1055895Z ##[section]Finishing: Restore
7
Steve Coleman

解決しましたEdit 7/5/19 YMLファイルまたはエディターには、.netcore SDKバージョンで同じ問題があります。私は今何度も私のものを更新しました。コアSDKチームがNugetに更新をプッシュしたり、VSを更新したりすると、ランダムに中断します。私のビルドは自動化されており、コードが変更されていないため、今日は機能し、明日は機能しません。しかし、私はいつもこの修正に戻って、それから再びビルドします。

VS2017でSDKバージョンを取得 enter image description here

DevOpsでバージョンを設定 enter image description here

7
Steve Coleman

次の2つの項目を確認することをお勧めします。

  1. RELEASEをローカルでビルドし、問題が再現されるかどうかを確認します。
  2. VSTSのNuGetバージョンについて具体的に: enter image description here

    enter image description here

2
tymtam

YAMLファイルを使用して設定している方のために:私もこれらの問題に対処していましたが、それはデプロイYAMLファイルをどこかからコピーしただけで、適切なツールを使用しなかったためです。このチュートリアルを実行した後、それは魅力のように機能しました:

https://docs.Microsoft.com/en-us/Azure/devops/pipelines/languages/dotnet-core?view=Azure-devops

より具体的には、dotnet復元を使用してパッケージを復元することで修正できると思います。

steps:
- script: dotnet restore

正しい.NET Core SDKもインストールしてください。

steps:
- task: DotNetCoreInstaller@0
  inputs:
    version: '2.1.300' # replace this value with the version that you need for your project
1
Slothario