如何自动构建MEF模块?

时间:2014-04-08 14:32:36

标签: c# visual-studio build visual-studio-2013 mef

我的项目中的模块在构建后被复制到文件夹,并通过DirectoryCatalog导入。但是,因为模块项目没有在主项目中的任何地方被引用或实例化,所以当我按F5进行调试会话后对它进行更改时它不会自动生成,所以同样的bug出现了,直到我去并明确地构建模块项目。

我正在寻找一种在构建主项目之前自动构建所有模块项目的方法。我必须有一个预构建事件并为每个项目调用C#编译器,但这是我完全迷失的地方。我该怎么做?

1 个答案:

答案 0 :(得分:0)

我确信有很多方法可以做到这一点,但最简单,最轻松的方法就是引用项目(请注意不要通过直接访问这些项目中的对象来破坏MEF)。要确保从这些项目获得最新版本,您需要将DirectoryCatalog路径指向引用它的项目的bin文件夹。这是一条捷径,但它始终有效。您还可以探索添加一些后期构建事件,但如果您正在共享代码并且正在与其他人一起使用中央存储库,则可能会导致潜在的麻烦。