错误NU1102:无法找到版本(> = 4.9.3)的软件包NuGet.Frameworks

时间:2019-02-08 03:50:41

标签: azure asp.net-core azure-devops nuget azure-deployment

当我尝试使用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上执行build / cake脚本时,它可以成功还原所有nuget程序包,而不会出现问题。

我已经尝试将“ Use Nuget 4.9.3”任务添加到构建管道中,但是遇到相同的错误。

注意:如果我删除了“使用Nuget 4.9.3”任务,则错误更改为(> = 4.7.0)。因此,它似乎正在寻找与当前版本的nuget.exe匹配的Nuget.Framework,但找不到它。

这是我的构建管道设置的屏幕截图: enter image description here

3 个答案:

答案 0 :(得分:0)

能否请您尝试使用Nuget 4.9.1作为屏幕截图,然后再次运行您的构建?

enter image description here

希望有帮助。

答案 1 :(得分:0)

我终于能够解决此问题。事实证明,nuget.org团队发生了重大变化,这导致我们的内部nuget服务器无法提供4.7和4.9.3版本的NuGet.Frameworks。这是dotnet.exe还原nuget程序包所必需的基本nuget库。对于.net核心项目,该框架必须为4.7版或更高版本。无论如何,解决方案是我们必须对内部nuget服务器进行调整,以解决nuget.org中的更改。

答案 2 :(得分:0)

我遇到了同样的错误。首先我更新了 Visual Studio,然后我清除了所有 NuGet 缓存,删除了 bin 文件夹,清理并构建了解决方案。它对我有用! P.S:如果还不算太晚,请使用 dapper :)