Microsoft.Build.BuildEngine可以是多线程的

时间:2013-03-20 02:20:51

标签: c# .net multithreading visual-studio msbuild

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

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

我知道它有一些STAThread要求,虽然我从未完全理解这对我的程序意味着什么。

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

我尝试在不同的线程中创建单独的引擎,但它没有工作。当我尝试使用一个引擎时,在一个线程中,它可以工作。

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

1 个答案:

答案 0 :(得分:0)

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