3

如果这已经被覆盖,我很抱歉,但我无法在任何地方找到答案。

我有一个使用 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 项目。

这在我的机器上运行得非常好,编译和改组 Dll,但是当我实际上必须部署这个东西时,我需要做两个步骤:像其他任何一样部署 web 项目,然后手动复制项目 #3 创建的程序集和#4到服务器上。因为它们并没有真正被 Web 项目引用,所以它们不会被 Web Publishing 的东西所采用。

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

4

1 回答 1

0

您是否尝试过将 MEF 类程序集复制到您网站的“_bin_deployableAssemblies”文件夹中。对我来说效果很好

于 2013-02-11T16:36:20.457 回答