使用消耗它们的Web项目部署MEF组件

时间:2013-02-11 16:00:25

标签: asp.net msbuild visual-studio-2012 mef web-deployment

如果已经涵盖了我的道歉,但我无法在任何地方找到答案。

我有一个消耗MEF组件的MVC4 Web应用程序。这些组件存在于同一解决方案中的另一个项目中,如下所示:

  • 我的解决方案
    1. 网络项目
    2. 定义MEF接口的Dll项目(由所有人引用)
    3. 包含实际MEF类的Dll项目
    4. 另一个包含实际MEF类的Dll项目

Web项目引用包含MEF接口的项目(#2),但不包含包含实际MEF类(#3&#4)的项目,因为这是框架的重点。我在#3和#4上有一个后期构建步骤,它将已编译的程序集复制到Web项目的bin文件夹中,并且Web项目也标记为依赖于项目#3和#4。

这在我的机器上非常出色,编译和改组Dlls,但是当我实际需要部署时,我需要做两个步骤:像任何一样部署web项目另外,然后手动将项目#3和#4创建的程序集复制到服务器上。因为它们不是真正引用的Web项目,所以它们不会被Web发布的东西所吸引。

我已经查看了Web Publish项目设置,虽然我可以将其设置为复制项目文件夹中的每个小东西,但我无法将其设置为仅复制特定的辅助文件。除了在Web项目中添加对#3和#4程序集的硬引用之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试将MEF类程序集复制到网站的"_bin_deployableAssemblies"文件夹中。对我来说很有效率