如何确定代码中的.net程序集依赖性

时间:2014-08-06 11:43:04

标签: .net .net-assembly system.reflection

如何确定特定.net dll / exe正在使用的其他dll / exe?简单来说,我想找出全局程序集缓存中特定.net dll / exe的依赖关系。如何通过system.reflection读取?

1 个答案:

答案 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()方法会在您使用VersionCulturePublicKeyToken对其进行完全限定后,从GAC加载程序集。 [reference]