【发布时间】:2013-03-08 23:48:16
【问题描述】:
我有许多 Visual Studio 解决方案要构建。
能否使用 Microsoft.Build.BuildEngine 一次构建多个解决方案(即通过多线程)?
我知道它有一些 STAThread 要求,尽管我从来没有完全理解这对我的程序意味着什么。
编辑:让我澄清一下。我知道 MSBuild 可以在解决方案中进行项目的多线程构建。我的问题是Microsoft.Build.BuildEngine.Engine 是否可以被不同的线程用来构建不同的解决方案/项目。
我尝试在不同的线程中创建单独的引擎,但没有成功。当我尝试在一个线程中使用一个引擎时,它起作用了。
Microsoft.Build.BuildEngine .NET 库能否一次构建多个项目/解决方案?
【问题讨论】:
-
你在使用 TFS 吗? TFS Build 可以配置为在一个或多个构建服务器上一次构建多个构建。
-
我相信 BuildEngine 使用 MSBuild。但是不,我没有使用 TFS。
-
MSBUILD 可以从 TFS2010/2012 构建中调用,并且可以传递参数以使其使用多个线程。
-
多线程环境下运行失败,为什么不切换到多进程呢?
-
除非您从任务中调用 COM 的东西,否则忽略 STAThread 警告应该是安全的(无论如何根据我的经验)。
标签: c# .net multithreading visual-studio msbuild