![]() |
1
2
Dependency Walker用于Win32 DLL(即 本机代码 ,而不是.NET程序集(即 托管代码 )它不会在任意类中找到方法(即使它们是静态的)。如果需要从本机代码调用托管代码,有很多方法可以做到, but it's not pretty 。 如果您想从托管代码中使用您的DLL,它会容易得多。退房 System.Assembly 和 Activator . 例如:
实例将是一个对象。要调用这些方法,需要使用反射,因为在编译时接口是未知的。 如果您正在创建一个插件系统,最好的方法是为所有插件提供一个公共接口或抽象库,并让您的程序引用它。实现插件的第三方也将引用此合同。在这种情况下,最后一行会有一点变化:
现在,您可以像在规则构造的对象中那样使用这些方法。 |
![]() |
2
0
这里的部分问题是依赖关系查询器是一个用于本机应用程序的工具。它不理解托管代码,因此不会显示您定义的任何托管类型+方法。 我对你问题中的这句话感到困惑
这听起来有点像我在本机应用程序中看到的错误,而不是管理的错误。您是否试图从本机应用程序访问C代码?如果是这样的话,这只能通过COM魔术而不是直接呼叫来实现。你能更详细地解释一下这里发生了什么吗? |
![]() |
3
0
尝试.NET Reflector查看构建的DLL中的内容(以确保所有内容都是它应该的方式)。 另外,在引用DLL之前,请确保您在构建DLL时处于释放模式…我不知道它是否会改变任何东西,但值得尝试一下。 |
|
Guilherme Albertini · DLL中的类 7 年前 |
![]() |
Naomi · C#dll资源文件更改语言 7 年前 |
![]() |
AidanH · C#DLL语言翻译实现[关闭] 7 年前 |
![]() |
subham · DLL函数调用不工作 7 年前 |
![]() |
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 7 年前 |
![]() |
nemo · DLL的“好”调用约定是什么? 7 年前 |