Nuget自动软件包还原和自定义源

Not*_*ple 3 nuget visual-studio-2015

似乎不再建议使用 MSBuild nuget恢复方法

另请参阅:如何在Visual Studio 2015中启用NuGet程序包还原

过去,我们已将自定义包源放在nuget包的.targets或.config文件中,以确保即使在原始VS安装中,每个人都使用自定义源。这意味着在构建服务器上的配置更少。

nuget.config中的EG:

  <packageSources>
    <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
    <add key="Another Package source" value="https://another.package.source/nuget/" />
  </packageSources>
Run Code Online (Sandbox Code Playgroud)

但是,使用自动软件包还原,不再有.targets或.config文件来放置其他源。在另一个地方,我们可以放置其他源,以便nuget可以使用它们,而无需在构建项目的每台机器上手动设置源?

Jos*_*iel 5

David Ebo不久前发表了一篇文章,描述了如何使其工作:

http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

您将需要在与解决方案.sln文件相同的级别上创建一个NuGet.Config文件。NuGet.Config文件的内容包含您的自定义源。

我尝试过,它确实有效;但是,我注意到我必须关闭并重新打开解决方案才能使配置更改生效。

另外,尽管我怀疑这是否必要,但我将其作为解决方案项包含在解决方案中。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="MyCustomSource" value="https://myServer.com/CustomSource/nuget" />
  </packageSources>
</configuration>
Run Code Online (Sandbox Code Playgroud)