【问题标题】:C# Assembly.LoadFrom throws BadImageFormatExceptionC# Assembly.LoadFrom 抛出 BadImageFormatException
【发布时间】: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


    【解决方案1】:

    经过研究,此方法无法加载混合程序集。它们只能是纯 MSIL。

    【讨论】:

    • 那你做了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    相关资源
    最近更新 更多