VSO Build Pipeline 的 Nuget 恢复失败
VSO Build Pipeline's Nuget Restore Failed
由于某些 nuget 包与 netcoreapp2.1
不兼容,VSO 构建管道中的 Nuget 恢复失败。但是,当我查看解决方案中的所有 csproj 文件时,none 个 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
失败。它显示不同的错误
[error]C:\Program Files\dotnet\sdk.2.104\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5):
Error NETSDK1004: Assets file
'd:\agentwrok\s....\obj\project.assets.json' not found. Run a
NuGet package restore to generate this file.
这是构建解决方案的配置
对下一步有什么建议吗?
VSO Build Pipeline's Nuget Restore Failed
就像 Volodymyr 评论的那样,您不应该将包 Microsoft.AspNet.WebApi
用于 .net 核心项目。这是因为此包针对的是 .NETFramework,而不是 .NET Core/.NETStandard。它与 .NET Core 不兼容。
当您在 nuget.org 上检查包 Microsoft.AspNet.WebApi
时,您会注意到此包依赖于 Microsoft.AspNet.WebApi.WebHost
,它仅针对 .NET Framework:
并且包 Microsoft.AspNet.WebApi.WebHost
的子依赖项 Microsoft.AspNet.WebApi.Core 也仅针对 .NET Framework:
因此,出现此问题的原因是包 Microsoft.AspNet.WebApi
及其依赖项与 .NET Core 框架不兼容。
希望对您有所帮助。
由于某些 nuget 包与 netcoreapp2.1
不兼容,VSO 构建管道中的 Nuget 恢复失败。但是,当我查看解决方案中的所有 csproj 文件时,none 个 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
失败。它显示不同的错误
[error]C:\Program Files\dotnet\sdk.2.104\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5):
Error NETSDK1004: Assets file 'd:\agentwrok\s....\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.
这是构建解决方案的配置
VSO Build Pipeline's Nuget Restore Failed
就像 Volodymyr 评论的那样,您不应该将包 Microsoft.AspNet.WebApi
用于 .net 核心项目。这是因为此包针对的是 .NETFramework,而不是 .NET Core/.NETStandard。它与 .NET Core 不兼容。
当您在 nuget.org 上检查包 Microsoft.AspNet.WebApi
时,您会注意到此包依赖于 Microsoft.AspNet.WebApi.WebHost
,它仅针对 .NET Framework:
并且包 Microsoft.AspNet.WebApi.WebHost
的子依赖项 Microsoft.AspNet.WebApi.Core 也仅针对 .NET Framework:
因此,出现此问题的原因是包 Microsoft.AspNet.WebApi
及其依赖项与 .NET Core 框架不兼容。
希望对您有所帮助。