簡體   English   中英

如何從.net C#exe或dll獲取引用和導入模塊的列表?

[英]how can a list of references and imported modules be obtained from a .net C# exe or dll?

給定任何C#exe或dll,我想獲取其引用的所有程序集以及所有導入的模塊的列表。 最簡單的方法是什么?

其他人則以編程方式給出了答案。 如果您只是想查看列表,則可以使用Telerik的JustDecompile這樣的反編譯器。 用它打開.dll,然后您將能夠在左側導航引用列表等。

您可以使用反射來了解如何獲取參考程序集。 請查看下面的鏈接。 對於您有關導入模塊的問題,我不確定,請提供更多詳細信息。

http://msdn.microsoft.com/zh-CN/library/system.reflection.assembly.getreferencedassemblies.aspx

要么

http://msdn.microsoft.com/zh-cn/library/system.reflection.assembly.getreferencedassemblies%28v=vs.100%29.aspx

希望能有所幫助。

使用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參數表示要為其查找所有依賴項的程序集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM