2010-06-22 34 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