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

问题描述

我有.sln文件,该文件在不同的文件夹中包含一些项目,最初在根文件夹中,我有 src Tests 文件夹以及sln文件。结构如下图所示:

Solution structure

当我运行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

是否可以根据通配符模式构建项目?

解决方法

我找不到任何参数,可以使用dotnet build按照某种模式精确地构建项目。根据{{​​3}},dotnet test可以这样做。

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

dir "*.csproj" -Recurse | %{dotnet build  $PSItem.FullName}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...