2011-10-04 63 views
9

我有一個已遷移到Azure Web Role的MVC3項目,它工作正常。但有一兩件事是真的竊聽我:當我發佈/包的項目部署我得到這個錯誤:部署Azure項目時的依賴警告(WAT150)

Warning WAT150: The project '' is dependent on the following assembly C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll. This assembly is not in the package. To make sure that the role starts, add this assembly as a reference to the project and set the Copy Local property to true.

所有我能找到在谷歌是如何添加的依賴。然而,我刪除了它,並且我無法找到這個依賴關係正在被拾取的位置。它不會引起任何問題,除了像黑板上的指甲一樣刺痛我的神經。如果有人能指出我朝着正確的方向,我將不勝感激。

回答

5

嘗試重建MSBuild設置爲「正常」或更高級別的Azure部署項目。這應顯示哪些引用無法解析。

在Visual Studio中,選擇工具|選項,然後項目和解決方案/構建和運行。將「MSBuild項目生成輸出詳細程度」設置爲至少Normal。

這應該通過從MSBuild創建更多的跟蹤輸出來幫助您,並幫助您查看丟失的引用正在拾取的位置。

+5

我最終將其設置爲診斷級別,它看起來像是Elmah所要求的。有趣的是Elmah也引用了Sqlite,但我沒有得到警告。但是因爲我使用Elmah,所以我想除非我想嘗試別的東西,否則我沒有太多選擇。 –

+0

多麼乏味;希望Elmah的指甲很快恢復! –

6

對於將來訪問者尋找WAT150錯誤的解決方案,它們依賴於程序集,我發現我的警告是由設置爲Copy local = true的程序集引用引起的,如果該DLL在GAC中,實際上不會將DLL複製到bin文件夾。詳細瞭解它herehere。從GAC中刪除DLL解決了問題

+1

有同樣的問題。太糟糕了Visual Studio不尊重這種情況下的提示路徑。太糟糕了,「Copy local = true」不是傳遞式的。 –