我需要在 MsBuild 中构建的项目之间同步对共享资源的访问。过去,当项目按顺序在同一流程中运行时,这不是问题。但是现在当 MsBuild 可以在多个线程和多个进程中运行项目构建时,我就是找不到实现这一点的方法。
基本上,我想要的是当我的项目开始构建时,我可以对资源进行一些操作。当它们都建到最后时,我可以再做一次手术。
如果首先想到我可以实现一个自定义任务并让每个项目修改构建过程,在构建之前和之后注入任务。但由于它们可以并行运行,甚至可以跨进程运行,我似乎无法选择。
当试图弄清楚这一点时,我最接近的是当我在 Microsoft.Build.Execution 命名空间中找到 BuildSubmission 类时(http://msdn.microsoft.com/en-us/library/microsoft.build.execution.buildsubmission .aspx)。但是我找不到任何关于我应该如何从我的自定义任务中与这些类进行交互的信息。
任何类型的输入或某个方向的指针都将受到高度赞赏!
/每