我正在尝试使用MsBuild应用程序接口来运行构建frpm C#。下面的代码似乎可以工作,但只运行单线程构建。我真的需要它来运行多线程。当我从命令行运行msbuild时,我可以使用/m开关来启动并行构建。我怎样才能通过编程实现同样的目标呢?
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);https://stackoverflow.com/questions/47549576
复制相似问题