当前位置 : 主页 > 网络推广 > seo >

在.NET中检索DLL信息

来源:互联网 收集:自由互联 发布时间:2021-06-16
我的问题: 给定DLL路径列表,找到它们的版本号和引用的所有程序集.有些可能指向相同的DLL但具有不同的路径或版本. 我的代码: Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")o
我的问题:

给定DLL路径列表,找到它们的版本号和引用的所有程序集.有些可能指向相同的DLL但具有不同的路径或版本.

我的代码:

Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")

otherDomain.DoCallBack(Sub()
                            Assembly.ReflectionOnlyLoadFrom("filePath")
                       End Sub)

Dim assemblies As New List(Of Assembly)(otherDomain.ReflectionOnlyGetAssemblies())

最后一行抛出:

Could not load file or assembly ‘file’, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null’ or one of its dependencies.The system cannot find the file specified.

如果那条线能起作用,我想我会简单地说:

assemblies(0).GetName.version.tostring
assemblies(0).GetReferencedAssemblies

然后卸载Application Domain.

此处的问题可能与新AppDomain的SetupInformation有关.在创建新的AppDomain时,请尝试像这样创建它,因此它会继承与现有AppDomain相同的安全性和设置信息:

AppDomain.CreateDomain("otherDomain", AppDomain.CurrentDomain.Evidence, AppDomain.CurrentDomain.SetupInformation);

现在,新AppDomain的程序集搜索位置将与源AppDomain匹配,并且应找到您的程序集.

网友评论