2011-05-26 121 views
0

我正在构建我的部署过程,并且遇到了一个令人讨厌的问题。Web部署在部署中不包含NHibernate必需的文件

在带有ASP.NET MVC3的.Net4项目上使用Visual Studio 2010 Sp1,我想将其部署到IIS7.5 Web服务器。部署工作正常 - 无论是从Visual Studio和命令行 - 除了这一个重要部分:

我在我的web应用程序引用的类库中使用NHibernate(与Fluent NH)。这些是使用NuGet安装的,并且在部署时也显示在服务器上。

然而,这些依赖于某些其他库:

  • Castle.Core
  • Iesi.Collections
  • NHibernate.ByteCode.Castle

这些也被取出的NuGet,他们在我的类库中引用,并且引用将“Copy Local”设置为True。然而,在这三个中,只有Iesi.Collections实际显示在服务器上!

当然,我可以手动复制它们,但下次运行部署时,它会删除它们。删除未使用的文件实际上是我想要的东西,但这些文件不应该属于该类别!

我可以做些什么来使Web Deploy尊重这些人是我的应用程序的所需成员的事实!

+0

您需要将这些添加到您的Web应用程序中,以便将它们包含到Web部署中。 – Phill 2011-05-26 09:12:55

回答

3

尝试添加这些程序集作为您的Web项目的引用,否则可能不包括类库中的隐式引用。

+0

修好了,谢谢!感觉有必要在Web项目中引用这些库,因为它不直接使用它们,但我想部署的东西无法弄清楚类库的依赖关系。我仍然认为这很奇怪,因为它拿起了Iesi.Collections,但没有其他人..哦,它的工作原理!谢谢! – 2011-05-26 09:25:43