在给定包含.Net程序集的文件夹的情况下,如何快速查找其中哪个依赖于给定的程序集?
(我想的不是用Reflector逐一打开它们)
最佳答案
您可以使用 GetReferencedAssemblies()
汇编方法在代码中执行此操作:
public void GetDependentAssemblies(Assembly assembly)
{
var assembliesPaths = new[] {
@"c:\dlls\assembly1.dll",
@"c:\dlls\assembly2.dll"
};
IEnumerable<Assembly> dependantAssemblies = assembliesPaths
.Select(path => Assembly.ReflectionOnlyLoadFrom(path))
.Where(folderAssembly =>
{
var fullNames = folderAssembly.GetReferencedAssemblies()
.Select(name => name.FullName);
return fullNames.Contains(assembly.GetName().FullName);
});
}
关于.net - 查找一组装配中的哪一个取决于装配X,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2612860/