我正在编写一个工具来报告有关在我的客户端系统中的环境和区域部署的.NET应用程序的信息.
我想阅读这些程序集中的程序集属性的值.
这可以使用Assembly.ReflectionOnlyLoad,但是即使这种方法也可以保持装配.这里的问题是我无法从不同的路径加载两个具有相同名称的程序集,因此我无法比较在不同系统中部署的相同应用程序.
在这一点上,我假设解决方案将涉及使用临时AppDomains.
有人可以详细说明如何将程序集加载到另一个程序集中AppDomain,从中读取属性然后卸载AppDomain?
这需要适用于文件系统上的程序集以及URL地址上的程序集.
有没有办法以编程方式(在C#中)获取程序集信息(名称,描述,版本)而不将类加载到AppDomain?我只需要清单中的信息而不需要其他信息.是Assembly.ReflectionOnlyLoad(..)我需要什么?或者它也加载了类?
例如:我有一个包含文件的字典,我想列出程序集名称,描述和版本.我现在不想使用这些程序集.
我知道你无法在不破坏应用程序域的情况下在.NET中卸载程序集.但如果我只加载它进行重选,有没有办法卸载它?
Reflection.Assembly.ReflectionOnlyLoadFrom
Run Code Online (Sandbox Code Playgroud)