2011-05-26 102 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