c#如何枚举到当前操作系统已经安装的.Net组件?

牧童吃五谷 2019-01-29 10:31:24
想在自己的程序中枚举当前系统已经安装的.Net组件,如何实现?
...全文
714 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
https://blog.csdn.net/wilsonke/article/details/8695609 按照这篇文章来看,你只要遍历这个目录就行了:
引用
其实Windows的GAC是有对应的目录的,一般来说为c:\Windows\assembly\,这个目录有一些特殊,它里面存放的是本机已安装和注册的类库dll,并且不允许用户直接对其中的元素进行相关操作(如复制、剪切、粘贴、修改名称等),不过你可以直接将另一位置的dll文件直接拖放到这个目录下进行dll的安装,但是我们不能直接将已经安装进去的dll再拷贝出来。这里我将介绍一种方法来完成这个操作。
当然gac就不用强调仅限windows了吧。
牧童吃五谷 2019-02-11
  • 打赏
  • 举报
回复
我就是想列出当前 GAC程序集的组件,该如何列?
  • 打赏
  • 举报
回复
每一种应用系统都会定于自己搜索插件的次序,可以由用户来给出位置,或者系统自动搜索不同位置。但是什么叫做“已经安装的.组件”呢?.net 系统下的装配件无需注册、直接copy就可以了,所以说“已经安装”、“组件”其实都是太空泛的词儿,反而没有真正实用的设计。
  • 打赏
  • 举报
回复
mef 最基本的对程序员友好的特征,是支持 vs 开发调试。当你在解决方案中有多个进程工程,并且让一个工程动态地加载其它进程,此时 vs 可以调试被 MEF 框架动态加载的工程。 也就是说,MEF 不仅仅是会动态识别和加载插件,动态扩展应用系统,而且还不是傻 x 地仅仅支持发布后的插件版本,它真正支持调试开发插件。
  • 打赏
  • 举报
回复
.net 框架中标准的插件框架叫做 MEF,正规学习 .net 技术的时候应该学习 MEF。
threenewbee 2019-01-30
  • 打赏
  • 举报
回复
你说的全部,应该说的是GAC的程序集,这个可以反射,但是要注意,没有注册到GAC的是没办法获取的。实际上大部分程序集,不存在“安装”。
牧童吃五谷 2019-01-30
  • 打赏
  • 举报
回复
我不是要确定.net版本号,我是要把当前系统已经安装的所有.Net组件名称列出来(最少也要列出全局程序集缓存中的所有组件)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧