首页 新闻 会员 周边

Assembly.LoadFrom只能加载托管代码生成的dll文件么

0
悬赏园豆:5 [已关闭问题]

      我用Assembly.LoadFrom加载一个vb写的非托管的dll文件,结果产生了BadImageFormatException异常,msdn上对该异常的解释是:当 DLL 或可执行程序的文件图像无效时引发的异常。下面的备注:是当可执行程序的文件图像无效时,引发此异常。例如,当非托管代码传递给 Load 进行加载时,会引发此异常

      msdn上对Assembly.LoadFrom方法的解释是:已知程序集的文件名或路径,加载程序集。

      并没有指出是托管的程序集还是非托管的程序集

      我分析是Assembly.LoadFrom无法加载非托管的程序集,但网上搜不到这方面的资料,所以无法确认

      Assembly.LoadFrom,Assembly.LoadFile,Assembly.Load都无法加载非托管的程序集么?它们的区别是什么?

      如果要加载非托管的程序集,只能使用DllImport调用么?

问题补充: 使用DllImport可以调用非托管dll文件中的类么 就目前所知,DllImport是可以调用非托管代码中的函数(注意是函数,也就是方法,不是类),但问题是能不能调用非托管代码中的类,我找不到这方面的资料
Lazyloon的主页 Lazyloon | 初学一级 | 园豆:195
提问于:2008-12-04 11:41
< >
分享
其他回答(2)
0

我觉得这个问题首先要清楚程序集是什么?程序集!=dll.

dll是程序集的一种封装吧,Assembly.LoadFrom应该只能加载托管的程序集

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-04 16:36
0

只能加载托管程序集

这个就是C#类库的代码啊

Virus-BeautyCode | 园豆:1619 (小虾三级) | 2008-12-04 17:22
0

同样困惑中,楼主求支持!

Charles.Qiu | 园豆:202 (菜鸟二级) | 2014-12-27 14:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册