如何确定特定.net dll / exe正在使用的其他dll / exe?简单来说,我想找出全局程序集缓存中特定.net dll / exe的依赖关系。如何通过system.reflection读取?
答案 0 :(得分:1)
正如@Hans Passant在他的评论中指出的那样,您可以使用GetReferencedAssemblies
方法来检索dll的引用程序集(即“已知”依赖项):
var assembly = Assembly.Load("Microsoft.ActiveDirectory.Management, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
var referencedAssemblies = assembly.GetReferencedAssemblies();
foreach (var referencedAssembly in referencedAssemblies)
{
Console.WriteLine(referencedAssembly.FullName);
}
Assembly.Load()
方法会在您使用Version
,Culture
和PublicKeyToken
对其进行完全限定后,从GAC加载程序集。 [reference]