【问题标题】:Azure Devops packages.config path in multi project solution多项目解决方案中的 Azure Devops packages.config 路径
【发布时间】:2019-09-04 11:27:18
【问题描述】:

我正在使用 Azure Devops 管道进行构建和发布。

我有 1 个包含多个项目的解决方案,在 nuget 包恢复步骤的构建过程中,我希望它只恢复我部署到的项目的包

假设我有一个名为 Main.sln 的解决方案

我有 2 个项目,分别名为 project1.csproj 和 project2.csproj

发布进展顺利,但需要相当长的时间,因为 NuGet 恢复步骤从 Main.sln 中获取每个包,而不是每个项目。

我希望它只为我命令它在 nuget 恢复设置 (/project1/packages.config) 中访问的特定 packages.config 恢复

我收到以下错误:

Cannot determine the packages folder to restore NuGet packages. Please specify either -PackagesDirectory or -SolutionDirectory

【问题讨论】:

  • 你真的在提供它-PackagesDirectory 吗?

标签: azure azure-devops azure-pipelines


【解决方案1】:

多项目解决方案中的 Azure Devops packages.config 路径

这是因为默认情况下 nuget 包会还原到所选解决方案文件旁边的 /packages 文件夹中。

如果我们在没有解决方案文件的情况下指定特定的packages.config/project file,则 nuget 无法确定用于还原 NuGet 包的包文件夹。

在这种情况下,我们需要手动指定PackagesDirectorySolutionDirectory,以便nuget 知道在哪里存储包。

要解决这个问题,如果你是nuget命令行恢复包,按照错误日志的提示,使用参数-PackagesDirectory-SolutionDirectory指定文件夹。

如果您使用的是经典编辑器,则可以选择 目标目录 用于 nuget 还原任务:

您可以指定存放包的文件夹。

希望这会有所帮助。

【讨论】:

  • 我想将Destination目录设置为每个项目的packages.config目录,我可以设置什么?
  • 我和@KevinBui 有同样的问题,有人知道吗?
猜你喜欢
  • 2019-07-29
  • 1970-01-01
  • 2021-02-17
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多