【发布时间】:2019-10-26 05:19:21
【问题描述】:
我想使用 dotnet restore 命令通过 --source 标志提供两个源。第一个在项目文件内的本地文件夹中,第二个在远程服务器上(实际上它是官方的 nuget 源)。
我在 teamcity 中使用了dotnet restore,并将源作为参数传递如下:
本地文件夹 https://api.nuget.org/
但是,当 teamcity 构建我的管道时,dotnet restore 首先在 C:\BuildAgent\work\LocalFolder 中搜索包,这很好 - 这就是我想要的。但在下一步中,它正在 C:\BuildAgent\work\https://api.nuget.org/ 中寻找第二个来源,这显然是错误的。
当其中一个源是本地源而第二个源托管在服务器上时,我不知道如何在一个 dotnet restore 命令中组合两个源。有什么解决办法吗?
@编辑
我知道我可以使用单独的 dotnet restore 命令创建两个构建步骤。一个用于本地源,第二个用于服务器。但是,将它组合在一个命令中会很好。
【问题讨论】:
-
你能把完整的
restore命令粘贴到这里吗? -
我没有使用完全恢复命令,因为我正在使用 teamcity UI 来执行构建步骤,所以我在 teamcity 中将源作为参数传递给
dotnet restore命令。但在构建日志中是这样的:dotnet restore -s LocalFolder -s https://api.nuget.org/。根据微软的文档应该可以工作,但它正在寻找两个本地文件夹。 -
嗯,这很奇怪。我不再使用teamcity,所以在那里我帮不上什么忙。我所知道的是,您可以将脚本(如 powershell)作为构建步骤运行。因此,您可以将
dotnet restore作为 powershell 命令运行。您仍然可以在那里使用 TeamCity 变量,只需将其传递给 powershell 任务。