Nuget Restore 任务如何工作?解决方案中的 nuget.config 是否必须与构建服务器中的相匹配?

How does Nuget Restore task work? Does nuget.config in the solution have to match that of in the build server?

我是 Nuget 的新手,添加了一个 Nuget 恢复步骤来在构建服务器上安装依赖项。当我查找 Nuget 恢复时,我们需要解决方案文件夹下的 Nuget.config 文件以及构建将 运行 的本地构建机器中的文件。 %Appdata%/Nuget/Nuget.config

我的问题是两个 nuget.config 文件需要匹配吗?在构建过程中,源存储库中的 nuget.config 文件是否替换了构建服务器中的 nuget.config?

Do the two nuget.config files need to match?

对于这个问题,答案是否定的,不需要匹配。正如 doc 定义的那样:

当您启用此复选框并执行此还原任务时,服务器将只获取已在存储库源代码控制下的配置文件。存在于本地构建代理中的配置文件不会对此文件产生任何影响。所以,他们不需要匹配。

Does the nuget.config file in the source repository replace the nuget.config in the build server during the build?

是的,如果本地配置文件与repos中的参数配置相同,而构建运行,本地配置将被repos中的文件覆盖,因为就近原则

比如你在repos的config文件里配置了一些about feed,而本地文件没有。构建 运行 时,本地文件需要使用此值,因为构建服务器将获取本地文件。

因此,对于这个问题,存储库中的 nuget.config 文件将在构建期间覆盖构建服务器中的 nuget.config 。而且,前提是这两个配置文件的参数配置相同。