如何在msbuild 15.0命令行中指定私有nuget包源?

Aat*_*ira 5 .net msbuild nuget nuget-package-restore visual-studio-2017

在vs 2017中使用msbuild 15.0时是否可以指定私有nuget feed服务器?我正在使用的当前powershell命令如下:

&$msbuild /t:restore /tv:15.0 /t:Rebuild /p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

默认情况下,这只是获取nuget.org的feed.

Leo*_*SFT 8

如何在msbuild 15.0命令行中指定私有nuget包源?

如果只想从指定的私有nuget包源恢复nuget包,可以使用该属性RestoreSources指定私有源:

msbuild /t:restore /p:RestoreSources=xxx /tv:15.0 /t:Rebuild /p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

检查还原目标以获取更多详细信息.

  • `/p:RestoreSources=` 中的多个源必须用转义版本分号 `;` -> `%3B` 分隔。例如,对于“url1”和“url2”,“/p:RestoreSources=url1%3Burl2” (5认同)

Mar*_*ich 6

您可以/p:RestoreAdditionalProjectSources=…用来指定其他来源。

另外,请使用/restore(MSBuild 15.3+)而不是Restore与其他目标一起指定,以便正确重新加载NuGet生成的所有更改文件。

  • 这到底是在哪里记录的?!所有隐藏的 msbuild/nuget 选项都很难追踪! (4认同)
  • @kayleeFrye_onDeck https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets (2认同)

小智 3

MS Build 从解决方案根目录读取 NuGet.Config 文件。您可以添加新的 Nuget.config 文件并在其中指定外部存储库。

nuget.config 参考