【问题标题】:Nuget Restore fails on Azure DevOps PipelineAzure DevOps Pipeline 上的 Nuget 还原失败
【发布时间】:2020-03-25 21:52:21
【问题描述】:

我的 .net core 3.0 API 项目无法在 Azure Devops 管道上构建,因为还原包任务失败并出现以下错误:

NU1605: Detected package downgrade: Microsoft.AspNetCore.Razor.Design from 2.2.0 to 2.1.2. Reference the package directly from the project to select a different version. WebApi -> Microsoft.AspNetCore.App 2.2.0 -> Microsoft.AspNetCore.Razor.Design (>= 2.2.0 && < 2.3.0) WebApi -> Microsoft.AspNetCore.Razor.Design (>= 2.1.2))

我只是不知道该怎么做。这个 Razor.Design 包甚至没有在我的项目中被引用,但我猜 AspNetCore.App 依赖于它(那么为什么它在没有这个包的情况下在本地工作对我来说是一个谜)。

我正在使用 Windows 2019 映像在代理上运行管道。 dotnetcore30 应该不是问题。

【问题讨论】:

    标签: .net-core azure-devops nuget azure-pipelines-build-task nuget-package-restore


    【解决方案1】:

    对于这个问题,没有你的项目文件,我不确定你的项目结构和包依赖关系。

    但是正如错误信息Reference the package directly from the project to select a different version所指出的那样,通常这种情况我们可以尝试直接引用具有特定版本的特定包来解决它。

    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="all" />
    

    另外,这里有一个官方document 描述了一些针对此类问题的示例和相应的解决方案,您可以查看它以进行故障排除。

    【讨论】:

    • 感谢它的工作!正如你所说,我已尝试添加到 csproj,然后我在本地收到警告:Warning RAZORSDK1006 Detected Razor language version downgrade. This is typically caused by a reference to the Microsoft.AspNetCore.Razor.Design package. Consider removing this package reference. 我想我可以忽略它?
    • 实际上,我已经尝试过该解决方案,但没有成功。它现在工作的原因是因为我在 Nuget 还原任务中有以下设置:解决方案的路径:*/.sln。但是,如果我指定我的解决方案的名称: */Web.Api.sln 那么修复工作。这很奇怪。我已将其改回 **/.sln 并且修复不再有效,所以问题确实是那个参数。
    • */*.sln not */.sln(错字)
    猜你喜欢
    • 2020-10-18
    • 2020-09-28
    • 1970-01-01
    • 2022-01-18
    • 2021-08-09
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2020-09-14
    相关资源
    最近更新 更多