我可以使用像“dumpbin”和“dll export”这样的工具来查看标准win32 DLL的公共入口点(“exports”),如Windows \ SYSTEM32 \ GDI32.dll。但是当我在.Net DLL上使用这些相同的工具时,我看到的就像是
2000 .reloc 2000 .rsrc 48000 .text
我有一个C#/ .Net DLL,提供控制工业流程的入口点,我想根据我们的文档检查其公共入口点,以确保公共文档的完整性。什么工具显示.Net DLL的公共入口点?
我已经尝试过Jetbrains DotPeek,它将我们的DLL完全反编译成C#源代码,但这样做太过分了,因为它显示了一切,并且似乎没有一个汇总模式,它只报告公共入口点。
答案 0 :(得分:4)
我认为“入口点”是指“公共课程和方法”
如何使用visual Studio对象浏览器?
答案 1 :(得分:2)
仅作为起点,如何列出当前程序集中的所有公共类型并列出所有公共方法:
Assembly assembly = Assembly.GetExecutingAssembly();
var exports =
assembly.GetExportedTypes()
.SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.Public)
.Select(member => new
{
type.FullName,
Member = member.ToString()
}))
.ToList();
但是这省略了嵌套的类,属性,并且应该可以通过几种方式扩展以满足问题需求。