无法在CI服务器中运行dotnet构建。无法解析nuget包

时间:2019-02-19 11:56:29

标签: .net-core continuous-integration nuget

我们的CI服务器(以管理员身份运行的CruiseControl.NET)运行时

dotnet build foo.sln

它失败,并显示以下消息,例如

  

错误NU1100:无法解决'Serilog(> = 2.7.1)   '.NETCoreApp,Version = v2.2'。   [C:\ path \ to \ foo.sln]

Serilog仅是示例。实际上,每个nuget软件包都会导致相同的错误。

为什么?

cmd.exe运行相同的命令成功。

这个问题似乎是一些已经问过的问题的重复,但我认为不是(其他问题有所不同)。

2 个答案:

答案 0 :(得分:0)

似乎我必须在CI服务器中运行它

nuget sources add nuget.org

我只需要这样做一次。

也许有一种方法可以使用dotnet命令而不是使用nuget.exe添加该nuget源。

答案 1 :(得分:0)

由于nuget源添加了作品,所以我不确定为什么需要另一种方式。这是在构建计算机上编辑全局nuget.config的最直接方法。

但是要回答您的问题,您可以临时添加nuget源:

dotnet restore -s https://artifactory.example.com/api/nuget/nuget.org

来自How do I register a new NuGet package source

,或者您可以在适当放置的nuget.config中指定nuget源(包括nuget.org)。 “放置得很好”通常与sln位于同一文件夹中,因此可以将其提交到构建计算机。