2015-08-28 50 views
0

我有一個asp.net mvc項目,它是Azure雲項目的一部分。我們稱之爲WebRoleasp.net沒有部署未引用的程序集

WebRole項目取決於服務接口巫婆是在它自己的大會。我們稱之爲Services。這些服務接口的實現位於另一個組件中,我們可以將其稱爲Services.Implementations

WebRole項目對Service.Implementations沒有直接依賴關係,但IoC容器將映射到一起。問題是隻要直接引用不存在,Service.Implementations就不會被部署。無論是本地IIS Express還是雲。

我如何知道Service.Implementations項目需要部署,而不會將其暴露給WebRole項目?

+0

這是一個已知的問題。 http://stackoverflow.com/questions/25859089/relevant-dependencies-dll-not-being-copied-when-deploying-using-visual-studio – Sakthivel

+0

一個已知的問題,應該已經修正它的外觀('我們在一年前檢查了一下......「)。雖然這不是100%的匹配。它看起來像它與Nuget包,但這是本地項目在同一解決方案... – Vegar

回答

0

整個依賴鏈將始終部署。因此,如果你編碼可能加載Services.Implementation程序集(因爲實例化一個類,接口,不管從那裏),它將被部署。 因此,部署此dll意味着您的代碼可能會使用此程序集。如果你不需要它,請檢查你的類是否管理接口實現,繼承,名稱空間和using -s。

+0

我想你誤會了。我**希望**它被部署。我知道它會被加載。但它失敗了,導致它不在那裏,因爲'整個依賴鏈'沒有被部署。可能因爲VS不瞭解依賴鏈,因爲它的一部分是動態的... – Vegar