Исключение с разрешающими сборками: попытка загрузить непроверяемый исполняемый файл с исправлениями
Я встраиваю необходимые сборки в свой проект и решаю их во время выполнения с AppDomain.CurrentDomain.AssemblyResolve
событие.
Все работает хорошо, за исключением.net4-обертки 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[]), хотя я не уверен.
Я не смог найти ничего, связанного с сообщением об исключении;
Попытка загрузить непроверяемый исполняемый файл с исправлениями (IAT с более чем 2 разделами или раздел TLS.)
Помощь приветствуется.
2 ответа
РЕДАКТИРОВАТЬ: ссылки, которые я опубликовал, больше не действительны из-за устаревших внешних ссылок. Пожалуйста, обратитесь сюда. Как динамически загружать необработанные сборки, содержащие неуправляемый код?(В обход исключения "Проверка политики не удалось проверить кодом")
На случай, если у кого-то еще есть моя версия этой проблемы, вот как я ее исправил:
- Создать новый проект с другим именем
- Скопируйте все ваши файлы в новый проект (включая код)
- Добавить ссылки на все файлы, необходимые для компиляции без ошибок
Я действительно, должно быть, что-то напутал со своими ссылками / ресурсами. Я получал эту ошибку при попытке загрузить любой внешний.dll из моей программы.