首页 > 解决方案 > AzureDevOps `dotnet build` 项目路径的语法是什么?如何为 `dotnet build` 项目路径添加多个项目?

问题描述

正如标题,我们**/*.csproj常用的 dotnet build项目路径,它的作用很大。但是我们最近添加了一个 dotnet 框架项目,当我们在 *nix 构建代理上运行我们的构建时,我们想排除 dotnet 框架项目或仅包含 dotnet 核心项目,但是当我尝试更新项目路径时dotnet pack,我遇到了错误以下:

Project file(s) matching the specified pattern were not found.

但是我定义的项目路径适用于dotnet pack项目路径,我很困惑。希望有人能提供帮助。

我使用的项目路径:

Business/*.csproj;Models/*.csproj;
**/*.csproj;-FxModels/*.csproj;

来自https://github.com/MicrosoftDocs/vsts-docs/issues/3981的问题

标签: azure-devops

解决方案


AzureDevOpsdotnet build项目路径的语法是什么?

AzureDevOpsdotnet build项目路径没有特殊语法,它只是使用相对路径通配符

当我们使用任务dotnet build构建项目时,我们总是将**/*.csproj所有项目包含在 repos 的指定分支中。当然,我们也可以使用完整路径来指定一个项目。例如:

在管道的获取源任务中,我们设置了reposand branch

在此处输入图像描述

然后,去repos获取项目的相对路径.net core

在此处输入图像描述

因此,如果您只想构建 .net 核心项目,则.net core项目的相对路径是:/NetCoreLibDemo/NetCoreLibDemo/NetCoreLibDemo.csproj

在此处输入图像描述

dotnet build如何为项目路径添加多个项目?

dotnet build您可以通过使用**/*.csproj或指定.sln文件为项目路径指定多个项目。

但是,我已经指出,如果您使用任务dotnet 包而不是dotnet build多个项目,则可以通过在模式前面加上 来使模式为负-:,例如:

在此处输入图像描述

它在我这边工作得很好,你可以检查它是否适合你。

更新:

正如我上面提到的,dotnet pack 项目语法不适用于 dotnet build,所以想要一个用于 dotnet build 的语法,这就是问题的重点

-:dotnet pack指定语法。你可以从选项的状态中得到它:

在此处输入图像描述

在此处输入图像描述

因此,dotnet build就像我在上面指出的那样,如果您想通过使用**/*.csproj或指定.sln文件为项目路径指定多个项目。

希望这可以帮助。


推荐阅读