我有一个无效的程序集,所以我无法导入Visual Studio参考。然后我找到了解决方案,比如C#中的[DllImport(“ScanDll.dll”)]。我做到了。
现在我想看看dll类。
如何在visual studio中看到没有对象浏览器的Dll类?
答案 0 :(得分:1)
如果它是非托管DLL,获取有关可用方法的信息的常规方法是通过DLL提供的头文件。
如果您没有任何头文件,可以使用Dependency Walker (depends.exe)查看DLL导出的函数。
答案 1 :(得分:1)
继续我对你的问题的评论,
如果您使用 DllImport ,则必须是本机dll,而不是托管。唯一的 查看其中的内容的方法是查看属于的头文件 用它
如果你做拥有本机DLL的源代码,你可能想尝试使用PInvoke Interop Assistant来生成与DLL交互所必需的C#。请注意,这是不完美的,但YMMV。
如果您有源代码,则只能“浏览”DLL类。如果您只有DLL,则无法执行此操作。
通过使用@Anders Abel建议的Dependency Walker,您可以获得有关导出的类和函数的一些信息。但是,使用它来生成C#包装器的主要问题是,没有信息可以看到区分作为指针或引用传递的参数,即使这样,指针也可能暗示数组。在C#中,您需要知道这一点,以便您可以应用正确的ref
或out
限定符,例如。