azure - 错误 NU1102:无法找到版本 (>= 4.9.3) 的包 NuGet.Frameworks
问题描述
当我尝试使用 Azure DevOps 构建 .NET Core 解决方案时出现此错误:
error NU1102: Unable to find package NuGet Frameworks with version (>= 4.9.3)
error NU1102: - Found 33 version(s) in http://nuget.bentley.com/nuget/Default [ Nearest version: 4.7.0-preview1-4986 ]
当 dotnet.exe CLI 执行 NuGet 还原时,Cake 脚本中会出现错误:
Executing: "d:/vsts/a/_tool/dncs/2.2.100/x64/dotnet.exe" restore "./src/StorageRegistryPortal.sln" --source "http://nuget.bentley.com/nuget/Default"
在抛出上述 NU1102 错误之前,它会尝试从解决方案文件中恢复 NuGet 包:
Restoring packages for d:\vsts\a\2921\s\src\StorageRegistryPortal\StorageRegistryPortal.csproj...
我的解决方案中没有任何内容引用这个“NuGet.Frameworks”包。所以,我想知道是否是“dotnet.exe”CLI 本身依赖于这个 nuget 包,然后才能恢复其余的 NuGet 包。此外,这只发生在 AzureDevops 中。当我在本地 PC 上执行构建/蛋糕脚本时,它能够成功恢复所有 nuget 包而没有问题。
我已经尝试将“使用 Nuget 4.9.3”任务添加到构建管道,但我得到了同样的错误。
注意:如果我删除了“使用 Nuget 4.9.3”任务,则错误将更改为 (>= 4.7.0)。因此,它似乎正在寻找与当前版本的 nuget.exe 匹配的 Nuget.Framework,但没有找到它。
解决方案
我终于能够解决这个问题。事实证明,nuget.org 人员进行了一项重大更改,导致我们的内部 nuget 服务器无法为 NuGet.Frameworks 的 4.7 和 4.9.3 版本提供服务。这是 dotnet.exe 还原 nuget 包所需的基本 nuget 库。对于 .net 核心项目,该框架需要是 4.7 或更高版本。无论如何,解决方案是我们必须对我们的内部 nuget 服务器进行调整,以应对来自 nuget.org 的更改。
推荐阅读
- python - AWS Lambda 函数读取红移详细信息超时
- python - 连接蓝牙设备 (Windows)
- flutter - 颤振范围错误不在包含范围内
- javascript - 如何将 js 值传递给 django url 模板标签
- generics - 使用宏编写 const 通用枚举组合
- python - 如何使用 LifoQueue 进行函数调用?
- javascript - 使用 reduce (ft.logical AND &&) 从简单数组到二维数组
- node.js - Node.js 在尝试发送电子邮件时挂起
- python - 以不同的值返回 API 结果
- javascript - 当扩展运算符独立并在一行代码中注明 else 时,它会做什么?