首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与Microsoft.Build.Execution.BuildManager并行构建?

如何与Microsoft.Build.Execution.BuildManager并行构建?
EN

Stack Overflow用户
提问于 2017-11-29 17:44:03
回答 0查看 422关注 0票数 3

我正在尝试使用MsBuild应用程序接口来运行构建frpm C#。下面的代码似乎可以工作,但只运行单线程构建。我真的需要它来运行多线程。当我从命令行运行msbuild时,我可以使用/m开关来启动并行构建。我怎样才能通过编程实现同样的目标呢?

代码语言:javascript
复制
            var logger = new BasicLogger();

            var buildParameters = new BuildParameters()
            {
                Loggers = new List<Microsoft.Build.Framework.ILogger>() { logger },
                DetailedSummary = false,
                EnableNodeReuse = false,
                OnlyLogCriticalEvents = false,
                ShutdownInProcNodeOnBuildFinish = true
            };

            var globalProperties = new Dictionary<string, string>
            {
                { "Platform", platform },
                { "Configuration", configuration },
                { "BuildInParallel", "True" } // guessed at this, doesn't seem to have an effect
            };

            var targets = new string[] { target };

            var buildRequestData = new BuildRequestData(projectFileName, globalProperties, "15.0", targets, null);
            BuildManager.DefaultBuildManager.ResetCaches();

            var buildResult = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequestData);
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47549576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档