我们的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
运行相同的命令成功。
这个问题似乎是一些已经问过的问题的重复,但我认为不是(其他问题有所不同)。
答案 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位于同一文件夹中,因此可以将其提交到构建计算机。