2010-06-22 33 views
3

有沒有辦法在運行時掃描GAC中的所有程序集並返回具有指定公鑰標記的程序集名稱列表?我知道我有興趣加載的所有GAC程序集的公鑰,但不一定知道名稱或版本號。通過公鑰獲取GAC條目

+1

我相信你可以嘗試在GAC中的每個程序集的'ReflectionOnlyLoad()'並過濾那些'FullName'屬性包含公鑰標記的地方。 – 2010-06-22 19:53:19

回答

1

很久以前,但我認爲公鑰是存儲程序集的目錄名稱的一部分。所以也許你可以循環遍歷彙編文件夾中的所有子目錄,並查看是否有任何子目錄包含公鑰。 似乎要記住,子目錄格式類似於version_somethingIcan'tRemember_publicKey

如果您還不知道,Windows資源管理器將隱藏組件文件夾的實際佈局,但可以打開命令提示符和CD。請記住,任何程序集都可以位於多個直接子目錄中的任何一個目錄下,因此可能最安全,以便循環遍歷所有程序集。

+0

謝謝我會嘗試創建一個自定義的AssemblyInfo對象來構建我將需要加載程序集的全名。 – lumberjack4 2010-06-24 19:36:19