Azure DevOps VSTS .netcore构建失败,但在我的PC上运行正常

时间:2018-10-08 00:59:55

标签: c# asp.net-core azure-devops azure-pipelines

我在.net core2.1.1 MVC网站上始终遇到依赖项错误。它可以从我的PC上正常运行。但是Azure DevOps无法正确编译参考。

添加一些图片以帮助解决此问题。 enter image description here enter image description here

DevOps错误。在将更新nuget添加到最新的

之后

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.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)。)

软件包还原失败

***************编辑 我根据csproj中的版本2.1.5传递了nuget错误,并将所有错误都定向到该错误。现在我回到还原错误。 enter image description here

我的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

3 个答案:

答案 0 :(得分:7)

解决了

在VS2017中获取您的SDK版本 enter image description here

在DevOps中设置您的版本 enter image description here

答案 1 :(得分:2)

我建议检查以下2个项目:

  1. 在本地构建RELEASE,然后查看是否重现了问题。
  2. 请具体说明VSTS中的NuGet版本: enter image description here

    enter image description here

答案 2 :(得分:0)

对于那些通过YAML文件进行配置的用户:我也正在处理这些问题,但这是因为我只是从其他位置复制了部署YAML文件,并且未使用适当的工具。遵循本教程后,它就像一个魅力:

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

更具体地说,我认为使用dotnet restore可以还原软件包:

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
相关问题