在IIS7上部署具有多个项目的解决方案 - 缺少DLL

时间:2013-05-08 10:15:56

标签: asp.net-mvc nhibernate dll iis-7 publishing

我正在尝试发布一个包含多个项目的解决方案 - 其中一个是MVC-到IIS7。 当MVC项目发布并且正在访问某些视图时,我收到以下错误:

  

无法加载文件或程序集'NHibernate.Mapping.Attributes,Version = 3.2.0.0,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'或其依赖项之一。系统找不到指定的文件。

这是因为我正在尝试访问的视图是在该解决方案中的另一个项目中调用一个函数并且需要这个库!

但是这个库不包含在MVC项目中!

我能够通过在MVC项目中引用该DLL来解决它!但我需要另一个解决方案,因为在所有其他项目中引用每个DLL都没有意义! 我正在使用MVC项目的“Web Deploy”发布选项,是否有另一种方法可以发布它并使其工作而不引用所有其他项目中的所有DLL?

1 个答案:

答案 0 :(得分:0)

有一篇关于如何直接部署MVC项目未引用的程序集的文章: http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

基本上,您需要在项目中创建一个名为_bin_deployableAssemblies的文件夹,并将程序集添加到该文件夹​​中。他们将与网站一起部署。

以下是文章的引用:

  

所以这是踢球者。如果您正在构建Web应用程序,那么您   需要部署一个程序集但不希望它被引用并且不想要它   它检查了bin目录,你可以简单地添加这个文件夹   你自己,把你自己的集会放在这里。