VSTS 上的 Nuget 恢复版本冲突构建错误

Nuget restore version conflict build error on VSTS

在本地构建良好,但在 VSTS 构建服务器上出现以下错误。问题很明确,但无法解决。

018-07-18T19:41:24.6993903Z ##[error]The nuget command failed with exit code(1) and error(NU1107: Version conflict detected for Microsoft.AspNetCore.Http.Abstractions. Reference the package directly from the project to resolve this issue. 
 webapi.admin -> Microsoft.AspNetCore.Cors 2.1.1 -> Microsoft.AspNetCore.Http.Extensions 2.1.1 -> Microsoft.AspNetCore.Http.Abstractions (>= 2.1.1) 
 webapi.admin -> Microsoft.AspNetCore.App 2.1.0 -> Microsoft.AspNetCore.Http.Abstractions (= 2.1.0).

你能升级 Microsoft.AspNetCore.App 到版本 2.1.1 吗?

或者只是将所有 nuget 引用升级到最新版本? (2.1.2 对于这些)

至于构建本地工作,请尝试清理或创建源代码控制存储库的新克隆,看看是否可行。

明确设置版本属性解决了它,改变了:

<PackageReference Include="Microsoft.AspNetCore.App" />

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />

此处有更多详细信息:https://github.com/aspnet/Universe/issues/1180#issuecomment-392180608

我也在处理这些问题,但那是因为我只是从其他地方复制了一个部署 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