[.NET]讓GAC目錄看起來跟一般的檔案總管一樣
有時我們需要將GAC中的組件COPY出來,有2個方式!
1.從Command模式將DLL Copy出來,如下圖,
2.透過檔案總管來找!
2.1.因為預設是CacheViewer的方式,所以無法點進去,如下圖,
2.2.如果要讓GAC看起來跟看其他檔案一樣的話,就要在註冊檔中設定,關閉CacheViewer。
HKLM\Software\Microsoft\Fusion\DisableCacheViewer [DWORD] to 1
這時就能透過檔案總管來Copy組件了,如下圖,
PS. 1.如果覺得要手動去找太麻煩了,這時能寫程式來取得,如下透過建立的物件來取得Location,
GSS.Stirrup.NBase20.Business.EntityCollection myEnt1
= new GSS.Stirrup.NBase20.Business.EntityCollection();
Type type1 = myEnt1.GetType();
Assembly sampleAssembly = Assembly.GetAssembly(type1);
MessageBox.Show("Location=" + sampleAssembly.Location);
PS. 2. .NET 4.0的GAC目錄在C:\Windows\Microsoft.NET\assembly裡,看起來就跟檔案總管一樣了!
為何GAC要分地方放呢? 以下有相關的資訊,大家可以參考一下哦! (感謝小章的提醒^_^)
.NET 4.0 has 2 Global Assembly Cache (GAC)
Top 2 things you should know about the Global Assembly Cache (GAC) in .NET 4.0
參考資料:
Get physical path of assembly installed in GAC
Demystifying the .NET Global Assembly Cache
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^