0

在我工作的其中一個項目中,代碼使用Assembly.LoadFrom函數動態地將.net DLL加載到完全信任的程序集中。到目前爲止,這一直在100%的工作沒有問題。C#Assembly.LoadFrom拋出BadImageFormatException

我現在有一個使用/ clr:pure編譯的Visual C++ DLL,需要使用上述Assembly.LoadFrom加載。我遇到BadImageFormatException,這真的很奇怪。

在Visual C++項目有3種類型的CLR的編譯選項:

/CLR

/CLR:純

/CLR:安全

作爲每個給定的指示

我需要在/ clr:pure下進行編譯。我的問題是使用/ clr:純引發異常。如果我將它更改爲/ clr,它也會引發異常。如果我將其更改爲/ clr:它會安全加載,而不會拋出異常(這是我的測試結束的地方)。

所以我想這的確是一個問題的兩個部分:

1)爲什麼會/ CLR:安全工作,但沒有其他兩個?

2)我如何使它與/ clr一起工作?

在此先感謝!

回答

0

經過研究此方法不能加載混合裝配。他們只能是純粹的MSIL。

+0

然後你做了什麼呢? – Sandy