如何通过通配符模式构建 dotnet

vko*_*nik 5 .net msbuild dotnet-cli

我有 .sln 文件,其中包含不同文件夹中的一些项目,最初在根文件夹中我有srcTests文件夹和 sln 文件。其结构如下图所示:

方案结构

当我运行时,dotnet build它会构建所有项目。另一种方法是传递<PROJECT | SOLUTION>文件以构建更具体的东西。我需要根据通配符仅构建特定项目或从构建中排除某些项目。

当我尝试通过 **/src/*.csproj!Tests/**它不过滤项目但给出来自 MSBuild 的错误时:

Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB1009: Project file does not exist.
Switch: **/src/*.csproj
Run Code Online (Sandbox Code Playgroud)

有没有办法根据通配符模式构建项目?

vko*_*nik 4

我找不到任何可以允许通过某种模式精确构建项目的参数dotnet builddotnet test根据参考文献可以这样做。

为了做类似的事情,dotnet build我可以使用 powershell 实现我想要的:

dir "*.csproj" -Recurse | %{dotnet build  $PSItem.FullName}
Run Code Online (Sandbox Code Playgroud)