2009-08-27 9 views
0

書くとき アセンブリasm = AppDomain.CurrentDomain.Load(SomeByteArray);appdomain C++ c#

SomeByteArrayが.net .exeから読み取った場合はすべてOK、C++の場合はエラーです。

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

もしそうなら、これを他の方法で行ってください。

おかげ

+0

(これは、すべてのSomeByteArrayが正しくファイルからロードされたと仮定している)、「C++を」あなたはC++/CLIを意味していますか?あなたが得ている正確なエラーは何ですか? –

+0

ファイルまたはアセンブリ 'ConsoleApplication3、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'またはその依存関係の1つからロードされた38400バイトをロードできませんでした。不正な形式のプログラムをロードしようとしました。 ConsoleApplication3 iがAppDomain.CurrentDomain.Load(テンプレート)メソッドを呼び出し、私のプログラムであり、 感謝 –

+1

は、私はそれが可能:( AppDomain.CurrentDomain.Load(SomeByteArray)ではないと思います。 SomeByteArrayは.NETしなければならない:(、私は正しいですよ? –

答えて

0

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

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

これらが同じかどうか、または.exeがAnyCpuの場合は、ロードしているアセンブリがOSと一致する必要があります。つまり、32ビットOSではx86、64ビットOSではx64でなければなりません。あなたが言うとき

関連する問題