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

标签 azure azure-devops azure-pipelines

我使用 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

最佳答案

Azure Devops packages.config path in multi project solution

这是因为默认情况下,nuget 包会与所选解决方案文件一起恢复到 /packages 文件夹中。

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

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

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

如果您使用的是经典编辑器,则有用于 nuget 恢复任务的目标目录选项:

enter image description here

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

希望这有帮助。

关于多项目解决方案中的 Azure Devops packages.config 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57772664/

相关文章:

.net-core - Azure Devops + Coverlet + SonarQube 显示 0%

azure - 从 Azure DevOps 池中删除代理

azure - 如何在环境之间共享Azure Redis缓存?

azure - 如何将 Strapi 部署到 Azure?

azure-devops - Visual Studio 团队服务构建 .net core 1.1

visual-studio - Visual Studio创建多个/其他工作区

azure - 为什么某些 Azure CLI 命令需要 az login

azure - IOT 中心消息处理器

c# - 将配置添加到 Application Insights

Azure 微服务性能见解 - 集体性能计数器报告