必要なアセンブリをプロジェクトに埋め込み、実行時に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)。
感謝します。