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

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

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

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

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

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

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


Smart猫小萌
浏览 487回答 2
2回答

冉冉说

我觉得这个问题首先要清楚程序集是什么?程序集!=dll.dll是程序集的一种封装吧,Assembly.LoadFrom应该只能加载托管的程序集

拉风的咖菲猫

只能加载托管程序集这个就是C#类库的代码啊
打开App,查看更多内容
随时随地看视频慕课网APP