【发布时间】:2012-09-29 03:19:15
【问题描述】:
在其中一个项目中,我正在使用Assembly.LoadFrom 函数将.net DLL 中的代码动态加载到完全受信任的程序集中。到目前为止,这一直是 100% 没有问题的。
我现在有一个用 /clr:pure 编译的 Visual C++ DLL,需要使用上面的 Assembly.LoadFrom 加载。当我这样做时,我得到了 BadImageFormatException,这真的很奇怪。
在 Visual C++ 项目中有 3 种类型的 CLR 编译选项:
/clr
/clr:纯
/clr:安全
根据给我的说明,它需要在 /clr:pure 下编译。我的问题是使用 /clr:pure 抛出异常。如果我将其更改为 /clr 它也会引发异常。如果我将其更改为 /clr:safe,它会在不引发异常的情况下加载(这是我的测试结束的地方)。
所以我想这真的是一个两部分的问题:
1) 为什么 /clr:safe 可以工作,而其他两个不行?
2) 如何让它与 /clr 一起使用?
提前致谢!
【问题讨论】:
标签: visual-studio-2010 c#-4.0 visual-c++ clr badimageformatexception