0

Assembly asm = AppDomain.CurrentDomain.Load(SomeByteArray); と書くと、

SomeByteArray が .net .exe から読み取られた場合はすべて問題なく、C++ から読み取られた場合はエラーになります。

この機能は、.net exe を使用して重要です。

はいの場合は、他の方法でこれを行ってください。

ありがとう

4

1 に答える 1

0

呼び出し元のアセンブリとロードしているアセンブリの両方が同じ種類のビルド(x86、x64、またはAnyCpu)ですか?ILDASMでビルドを確認することで、ビルドを確認できます(マニフェストを確認し、一番下までスクロールして、corflagsを探します)。

両方のアセンブリを自分でビルドした場合は、プロジェクトのプロパティページでビルド方法を確認してください。

それらが同じであることを確認する必要があります。または、.exeがAnyCpuの場合、ロードするアセンブリはOSが何であれ一致する必要があります。つまり、32ビットOSではx86、64ビットOSではx64である必要があります。

(これはすべて、SomeByteArrayがファイルから正しくロードされたことを前提としています)

于 2009-08-27T15:15:52.400 に答える