.net - 如何通过通配符模式构建 dotnet

标签 .net msbuild dotnet-cli

我有 .sln 文件,其中包含不同文件夹中的一些项目,最初在根文件夹中我有 测试 文件夹和 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 完全按照某种模式构建项目的参数.可以为 dotnet test 这样做根据 reference .
为了对dotnet build做类似的事情我可以用 powershell 实现我想要的:

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

关于.net - 如何通过通配符模式构建 dotnet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63743003/

相关文章:

c# - 如何强制数字在 C# 中的范围内?

asp.net - 文件转换,是否可以将自动增量添加到设置中

asp.net-core - 无法使用托管代理在 Visual Studio Team Services 上构建默认的 ASP.Net Core Web 应用程序 (.NET Core)

.net - 无法创建迁移。错误 MSB1009 : Project file does not exist

.net - 从哪里获取要传递给 WTSConnectSession 的 ULONG LoginID 值?

c# - ConfigureAwait(false) - 延续是否总是在不同的线程上运行?

c# - 为什么这个linq扩展方法会两次命中数据库?

c# - 需要在命令行上 msbuild 低版本的 C# 项目,没有 Visual Studio

svn - 如何从 Teamcity 中触发构建中排除标签文件夹?

c# - 如何使用 dotnet-cli 将新的 c# 文件添加到项目中