看起来 MSBuild nuget 还原方法是 no longer recommended

另见:How do I Enable NuGet Package Restore in Visual Studio 2015

过去,我们已将自定义包源放在 nuget 包的 .targets 或 .config 文件中,以确保每个人即使使用 vanilla 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>

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

最佳答案

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>

关于Nuget 自动包还原和自定义源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32342669/

10-17 00:25