我有许多 Visual Studio 解决方案要构建。
Microsoft.Build.BuildEngine 能否用于一次构建多个解决方案(即通过多线程)?
我知道它有一些 STAThread 要求,尽管我一直不太明白这对我的程序意味着什么。
编辑:让我澄清一下。我知道 MSBuild 可以在解决方案中进行项目的多线程构建。我的问题是Microsoft.Build.BuildEngine.Engine是否可以被不同的线程用来构建不同的解决方案/项目。
我尝试在不同的线程中创建单独的引擎,但没有成功。当我尝试在一个线程中使用一个引擎时,它成功了。
Microsoft.Build.BuildEngine
.NET 库能否一次构建多个项目/解决方案?
最佳答案
这取决于你在做什么。是的,您可以进行多个并行项目构建(在 VS 中转到工具 -> 选项 -> 项目和解决方案 -> 构建和运行)。如果您正在运行 MSBuild,则可以使用/m[:number] 命令。至于已弃用的 BuildEngine,取而代之的是 Microsoft.Build.Construction/Microsoft.Build.Evaluation/Microsoft.Build.Execution,我相信 BuildParameters.MaxNodeCount 是设置要使用的线程数的原因。虽然我个人建议只运行 msbuild 本身或使用 IDE,但它要简单得多。
关于c# - Microsoft.Build.BuildEngine 可以是多线程的吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514135/