2010-06-03 55 views
0

今天,我已經通過各種方法(mscorcfg.msc /拖放)對組件進行了標記,並將它們安裝到GAC中進行了大量的閱讀和實驗。需要澄清重新:在GAC中使用.NET程序集 - 設置爲全局使用?

我的想法是,一旦文件在GAC中,您就不需要從Visual Studio中的項目中進行引用。我知道你可以通過通常的添加引用,瀏覽等來引用,但我認爲它是自動的。測試證明情況並非如此。

我遇到了一個論壇帖子,希望獲得相同的結果,建議添加到system.web下的machine.config文件中,如下所示。

這不起作用,它實際上打破了視覺工作室,直到我刪除它。

<assemblies> 
       <add assembly="Blah.Framework.Logging, Version=1.0.3806.25580, Culture=neutral, PublicKeyToken=0beed4b631ebc3cd" /> 
      </assemblies> 

我想知道的是,我是否正確地使用了GAC中的程序集,並且有沒有辦法使它們在全球範圍內可用?

回答

2

全局可用並不意味着引用會自動添加到您的所有項目中。這意味着您不需要將DLL複製到應用程序的探測路徑中(Visual Studio中的「複製本地」選項)。您仍然需要從GAC添加對項目的引用,但是您選擇的程序集不會複製到項目的bin文件夾(探測路徑中的第一站)。

實際目的是不必重新分配您與應用程序一起引用的DLL。您添加了對其的引用,並且該引用將在任何將該DLL添加到其GAC中的機器上找到。

+0

感謝您的回答。這是我想要的一個合乎邏輯的結論,而且它更有意義。只是我在網上發現了一些暗示我有提到的能力的東西。 非常感謝。 – gb2d 2010-06-03 18:33:06