给定任何C#exe或dll,我想获得它引用的所有程序集的列表以及所有导入的模块。这样做最简单的方法是什么?
答案 0 :(得分:1)
其他人已经给出了以编程方式执行此操作的答案。如果您只想查看列表,可以使用来自Telerik的JustDecompile反编译器。用它打开.dll,你就可以在左侧导航参考列表等。
答案 1 :(得分:0)
您可以使用反射来了解如何获取参考装配。请参阅下面的链接。我不确定您对导入模块的问题,请提供更多详细信息。
http://msdn.microsoft.com/en-us/library/system.reflection.assembly.getreferencedassemblies.aspx
或
希望得到这个帮助。
答案 2 :(得分:0)
使用GetDependentAssemblies
,如下所示:
private IEnumerable<Assembly> GetDependentAssemblies(Assembly analyzedAssembly)
{
return AppDomain.CurrentDomain.GetAssemblies()
.Where(a => GetNamesOfAssembliesReferencedBy(a)
.Contains(analyzedAssembly.FullName));
}
public IEnumerable<string> GetNamesOfAssembliesReferencedBy(Assembly assembly)
{
return assembly.GetReferencedAssemblies()
.Select(assemblyName => assemblyName.FullName);
}
analyzedAssembly
参数表示要为其查找所有依赖项的程序集。