21

必要なアセンブリをプロジェクトに埋め込み、実行時にAppDomain.CurrentDomain.AssemblyResolveイベントを使用してそれらを解決しています。

irrKlangの.net4-wrapperを除いて、すべて正常に動作します。irrKlangを実行しようとすると、例外がスローされます。

System.IO.FileLoadException: Attempt to load an unverifiable executable with fixups (IAT with more than 2 sections or a TLS section.) (Exception from HRESULT: 0x80131019)
   at System.Reflection.RuntimeAssembly.nLoadImage(Byte[] rawAssembly, Byte[] rawSymbolStore, Evidence evidence, StackCrawlMark& stackMark, Boolean fIntrospection, SecurityContextSource securityContextSource)
   at System.Reflection.Assembly.Load(Byte[] rawAssembly)
   at xyz.Utility.Helpers.AssemblyManager.Resolver(Object sender, ResolveEventArgs args) in C:\Users\shalafi\Desktop\xyz\trunk\xyz\Utility\Helpers\AssemblyManager.cs:line 55
   at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)

基本的に、CLRがAssembly.Load(byte [])を使用して混合モードアセンブリをロードできないのではないかと思いますが、よくわかりません。

例外メッセージに関連するものは何も見つかりませんでした。

修正プログラムを使用して検証不可能な実行可能ファイルをロードしようとしました(2つ以上のセクションまたはTLSセクションを持つIAT)。

感謝します。

4

2 に答える 2

5

編集:古い外部リンクのため、私が投稿した参照はもう有効ではありません。こちらをご参照ください。 アンマネージ コードを含む未加工のアセンブリを動的に読み込むにはどうすればよいですか? (「検証不能なコードがポリシー チェックに失敗しました」という例外をバイパスします)

于 2012-05-21T21:16:31.577 に答える