4

我有许多 Visual Studio 解决方案要构建。

Microsoft.Build.BuildEngine 可以用于一次构建多个解决方案(即通过多线程)吗?

我知道它有一些 STAThread 要求,尽管我从来没有完全理解这对我的程序意味着什么。

编辑:让我澄清一下。我知道 MSBuild 可以在解决方案中进行项目的多线程构建。我的问题是不同线程是否可以使用Microsoft.Build.BuildEngine.Engine来构建不同的解决方案/项目。

我尝试在不同的线程中创建单独的引擎,但它不起作用。当我尝试在一个线程中使用一个引擎时,它起作用了。

.NET 库可以Microsoft.Build.BuildEngine一次构建多个项目/解决方案吗?

4

1 回答 1

0

这取决于你在做什么。是的,您可以进行多个并行项目构建(在 VS 中转到工具 -> 选项 -> 项目和解决方案 -> 构建和运行)。如果您正在运行 MSBuild,则可以使用 /m[:number] 命令。至于为支持 Microsoft.Build.Construction/Microsoft.Build.Evaluation/Microsoft.Build.Execution 而弃用的 BuildEngine,我相信 BuildParameters.MaxNodeCount 是设置要使用的线程数的原因。虽然我个人建议只运行 msbuild 本身或使用 IDE,但它要简单得多。

于 2013-03-20T03:36:37.290 回答