VSO Build Pipeline的Nuget还原失败

时间:2019-03-22 01:46:26

标签: azure asp.net-core azure-devops nuget-package azure-pipelines

由于某些与netcoreapp2.1不兼容的nuget软件包,从VSO的构建管道进行Nuget还原失败。但是,当我浏览解决方案中的所有csproj文件时,没有一个csproj文件具有这些nuget包。我可能以前已经安装过这些,但现在肯定不在这里。

enter image description here

这是错误消息中提到的csproj文件。

 <ItemGroup>
    <PackageReference Include="Microsoft.AspNet.WebApi" Version="5.2.6" />
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
  </ItemGroup>

这是Nuget.Config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

请告知如何解决此问题。

编辑=========================================== ==========

Microsoft.AspNet.WebApi删除nuget软件包后,NugetRestore通过了,但是Build solution失败了。它显示了另一个错误

  

[错误] C:\ Program Files \ dotnet \ sdk \ 2.2.104 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.PackageDependencyResolution.targets(208,5):

     

错误NETSDK1004:资产文件   找不到'd:\ agentwrok \ 18 \ s .... \ obj \ project.assets.json'。运行   NuGet软件包还原以生成此文件。

这是构建解决方案的配置

enter image description here 下一步有什么建议吗?

1 个答案:

答案 0 :(得分:2)

  

VSO构建管道的Nuget恢复失败

就像Volodymyr所评论的那样,您不应将包Microsoft.AspNet.WebApi用于.net核心项目。那是因为此软件包是.NETFamework的目标,而不是与.NET Core不兼容的.NET Core / .NETStandard。

当您检查软件包Microsoft.AspNet.WebApi而不是nuget.org时,您会注意到此软件包具有依赖项Microsoft.AspNet.WebApi.WebHost,该依赖项仅针对.NET Framework:

enter image description here

enter image description here

Microsoft.AspNet.WebApi.WebHost的子依赖性Microsoft.AspNet.WebApi.Core也仅针对.NET Framework:

enter image description here

因此,此问题的原因是软件包Microsoft.AspNet.WebApi及其依赖项与.NET Core框架不兼容。

希望这会有所帮助。