由于某些与netcoreapp2.1
不兼容的nuget软件包,从VSO的构建管道进行Nuget还原失败。但是,当我浏览解决方案中的所有csproj文件时,没有一个csproj文件具有这些nuget包。我可能以前已经安装过这些,但现在肯定不在这里。
这是错误消息中提到的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软件包还原以生成此文件。
这是构建解决方案的配置
答案 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:
包Microsoft.AspNet.WebApi.WebHost
的子依赖性Microsoft.AspNet.WebApi.Core也仅针对.NET Framework:
因此,此问题的原因是软件包Microsoft.AspNet.WebApi
及其依赖项与.NET Core框架不兼容。
希望这会有所帮助。