2015-11-04 63 views
0

所以我完全被這個摸索。之前使用完全相同的方法,但是這次我有一個從nuget packages -directory引用的程序集,它具有複製本地設置爲true的功能,並且是強名稱引用。ClickOnce部署和複製依賴-entry

如果我再運行從VS我的開發機器上發佈,正確生成清單。然而,當我在構建機器上運行它,因爲一些莫名其妙的原因,清單包含重複的依賴項爲同一組件,其中一個是完全一樣的我自己的機器上,但其他人有一個dependencyType="preRequisite,甚至更神祕,引用了一個完全不同的版本所使用的組件的絕對沒有在那裏(我已經通過我的.csproj文件中查找一百萬次,並不能找到任何東西)。

當我嘗試安裝應用程序時,這顯然會爆炸,因爲一方面,我甚至沒有指定preRequisite的版本,並且我特別沒有在GAC中的任何機器上安裝它。事實上,沒有任何版本的程序集位於所討論的任何機器的GAC中。

所以,我真的不知道該怎麼繼續。如果我可以簡單地從清單中刪除那個愚蠢的依賴項,那麼一切都會好起來的。但是,所有這一切都發生在構建服務器上(我猜,這是構建過程中的一部分),這似乎更復雜一些。

最後,在另一個項目中,我實際上擁有完全相同的程序集引用,並且它按預期工作。究竟是什麼造成了這種情況?

回答

0

好了,我也終於得到它的工作。問題在於構建服務器有安裝程序安裝的第三方組件的不同版本,即使該組件是通過NuGet使用的。

(相當髒)修復只是從安裝目錄中找到有問題的文件並將其刪除。我仍然不知道爲什麼它只發生在那個dll上,而不發生在其他第三方dll上。