0
書くとき アセンブリasm = AppDomain.CurrentDomain.Load(SomeByteArray);appdomain C++ c#
SomeByteArrayが.net .exeから読み取った場合はすべてOK、C++の場合はエラーです。
この機能は、.net exeを使用して重要ですか?
もしそうなら、これを他の方法で行ってください。
おかげ
書くとき アセンブリasm = AppDomain.CurrentDomain.Load(SomeByteArray);appdomain C++ c#
SomeByteArrayが.net .exeから読み取った場合はすべてOK、C++の場合はエラーです。
この機能は、.net exeを使用して重要ですか?
もしそうなら、これを他の方法で行ってください。
おかげ
は、呼び出し元のアセンブリおよびビルドの同じ種類(x86またはx64のかAnyCpu)の両方を搭載しているものはありますか?ビルドをILDASMで確認することができます(マニフェストを見て、下にスクロールしてcorflagsを探します)。
両方のアセンブリを自分で作成した場合は、プロジェクトのプロパティページでビルド方法を確認してください。
これらが同じかどうか、または.exeがAnyCpuの場合は、ロードしているアセンブリがOSと一致する必要があります。つまり、32ビットOSではx86、64ビットOSではx64でなければなりません。あなたが言うとき
(これは、すべてのSomeByteArrayが正しくファイルからロードされたと仮定している)、「C++を」あなたはC++/CLIを意味していますか?あなたが得ている正確なエラーは何ですか? –
ファイルまたはアセンブリ 'ConsoleApplication3、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'またはその依存関係の1つからロードされた38400バイトをロードできませんでした。不正な形式のプログラムをロードしようとしました。 ConsoleApplication3 iがAppDomain.CurrentDomain.Load(テンプレート)メソッドを呼び出し、私のプログラムであり、 感謝 –
は、私はそれが可能:( AppDomain.CurrentDomain.Load(SomeByteArray)ではないと思います。 SomeByteArrayは.NETしなければならない:(、私は正しいですよ? –