构建中的 NuGet 包还原和 Visual Studio

NuGet package restore in builds and Visual Studio

我们有多个 VS2013 解决方案,选择了 "Enable NuGet package restore" 选项。回想一下,选择此选项会创建一个“.nuget”解决方案文件夹,其中包含许多文件(NuGet.config、NuGet.exe、NuGet.targets)。作为最后一步,我将编辑 NuGet.targets 文件,为我们的内部存储库添加包源。

我刚刚将旧的 TFS2012 服务器升级到 Azure DevOps 2019,目前正在创建新的构建管道来替换我们旧的基于 XAML 的构建定义。我添加了一个 "NuGet restore" 任务,但鉴于我们的解决方案启用了 "package restore" 选项,我不确定这是否有必要?如果我删除此任务,包是否会由 "Visual Studio build" 任务恢复?

我从来都不喜欢在解决方案中包含所有那些包恢复的东西。如果我要删除它,我想毕竟需要 "NuGet restore" 构建任务?但是如果没有包恢复选项,开发人员将如何在他们的 PC 上恢复包(在 VS2019 中)?

最佳做法是在构建管道中执行两项任务 - 还原和构建。

选项"Enable NuGet package restore"从VS2015开始就不存在了,那么开发者如何恢复包呢?仅 right-click 解决方案和“恢复 NuGet 包:

实际上,VS 应该会在您构建时自动执行此操作,如果不检查此设置(在“工具”-“选项”下):

您需要将您的私人 NuGet 提要添加到 NuGet 源(工具 - 选项):