2014-02-21 46 views
0

根據MSCopyLocal =假在GAC組件不工作

默認情況下,CopyLocal屬性設置爲False如果大會或組件是在全局程序集緩存或者是一個框架的組成部分。否則,該值將設置爲True。項目到項目的引用始終設置爲True。

我不認爲這是一致的。我的服務器是2008 R2,我有一個查看GAC的工具。我也只是在VS命令提示符下調用gacutil.exe/l。 CopyLocal的一些例子仍然被設置爲True,即使程序集是在GAC:

  • Microsoft.Data.Edm
  • Microsoft.Data.OData
  • Microsoft.Web.Infrastructure
  • 甲骨文.DataAccess(我安裝了Oracle 12c x86 ODP.NET)

還有很多其他的。這個項目是通過使用默認的MVC模板開始的。還有其他人被設置爲假。有沒有其他人看過這個,或瞭解這種行爲? 謝謝

+0

有兩個GAC,你在看正確的嗎?你使用的是正確版本的gacutil嗎?你爲什麼要在服務器上開發軟件? –

+0

如何判斷我應該看哪一個?我認爲有一個GAC擁有許多地點的程序集可以居住。我的團隊開發了各種各樣的應用程序...... web,控制檯,Biztalk,IBM MQ等......我們基本上開發了我們部署的內容。這很重要嗎?還使用VS 2013控制檯運行gacutil。 –

+0

@HansPassant我做了一些更多的研究,並發現一些您對其他帖子的評論很有幫助。由於框架版本,您的意思是2個GAC。我從來沒有想到它會分裂。這導致我(我認爲)一個更好的問題,當我使用gacutil時,我怎麼知道我指的是哪個GAC? –

回答

0

CopyLocal在最初將程序集引用添加到項目時設置。如果您在另一臺計算機上或在同一臺計算機上創建了該項目,但在其狀態(例如,GAC內容)不同的情況下,它仍將反映原始設置。這可以解釋爲什麼CopyLocal與預期不符。