繁体   English   中英

从C#运行Microsoft.Build.Evaluation.Project的并行构建

[英]Run parallel build of Microsoft.Build.Evaluation.Project from C#

早上好。 请帮我msbuild。

我在Microsoft.Build.Evaluation.Project数组中加载了很多csproj。 我在项目中更改了相同的属性。 如何运行我的项目的并行构建?

当我在许多线程中运行project.Build()时,我收到异常“由于构建已在进行中,因此无法完成操作。”

我不能在磁盘上保存项目,因为我改变了属性,只需要我。

每个进程只能调用一个Build()函数。 所以你需要同步所有的Build()调用。 像这样的东西:

static class ProjectBuildSync
{
    private static readonly object _syncObject = new object();
    public static bool Build(Project project)
    {
        lock (_syncObject)
            return project.Build();
    }
}

...
ProjectBuildSync.Build(project);
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM