azure-devops - 如何在 VSO 中启用 Nuget 包还原

标签 azure-devops nuget-package azure-pipelines nuget-package-restore

我们使用的是 VS 2015 和 VSO。 Nuget 包恢复对我们不起作用,这迫使我们检查 20 多个 nuget 包 dll(不良做法)。

我尝试通过以下链接在 VSO 上启用 nuget 包恢复。

How to enable nugets package restore in Visual Studio 2015?

https://docs.nuget.org/consume/package-restore/migrating-to-automatic-package-restore

但是包恢复似乎不起作用。如果不执行 nuget.exe,我不知道它如何工作。

有人可以分享一下您是否让它工作以及如何工作。

最佳答案

将 NuGet 包检查到版本控制中不是一个好主意。您需要删除它们,然后使用 NuGet 恢复:

如果您在 VSO 中使用 vNext 构建系统,您只需选中构建定义中的Restore NuGet Packages 复选框,然后选择 .您要构建的 sln 文件。

enter image description here

如果您使用一个 XAML 构建定义,则需要执行一些步骤(描述 here )才能在 VSO (TFS) 构建过程中恢复这些 NuGet 包。

  1. 将以下项目添加到解决方案中。 (可以找到 nuget.config 和 .tfignore 文件的内容 here )

enter image description here

  1. 在解决方案文件夹的根路径下添加一个build.proj文件。 (build.proj文件的内容可以查看here)

  2. 在解决方案文件夹的根路径下创建一个名为tools 的文件夹。在tools文件夹下创建NuGet子文件夹,下载并保存nuget.exe在 tools\NuGet 路径下。

  3. 检查 nuget.config.tfignorebuild.projtools\NuGet\nuget.exe 进入 TFS 版本控制。

  4. 修改构建定义以选择构建 build.proj 文件。 enter image description here

然后您将在 TFS 构建过程中成功恢复 NuGet 包。

关于azure-devops - 如何在 VSO 中启用 Nuget 包还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33100479/

相关文章:

python - azure 管道中的 pip install azure-functions 因 pip 验证任务而失败

azure - 如何将从 Azure KeyVault 下载的 secret 作为参数传递给 Azure Function?

git - 仅在包更改时在 VSTS 中构建 Monorepo

azure - 在第一个管道上成功运行后触发第二个 Azure 管道

c# - Azure DevOps - .NET Core 构建包括 Web.config 文件

visual-studio - VS 说 "You have 1 deprecated package versions installed",但哪一个?

visual-studio - 如何在本地进行确定性构建(ContinuousIntegrationBuild 标志)?

azure-devops - Azure DevOps - 我可以使用按项目分隔的工作项自动 ID 编号吗?

azure-devops - 对Azure DevOps上的不同存储库重复使用相同的构建管道

Git 子模块与 Nuget 包