Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Проблемма с загрузкой assembly


Автор: axelprog 19.3.2008, 19:56
Уважаемые помогите советом. Програмно генерю собственную сборку. Если её пытаюсь подгрузить по Assembly.load то возникает исключение "Попытка загрузить непроверяемый исполняемый файл с адресными привязками (IAT с тремя или более разделами или разделом TLS). Исключение из HRESULT: 0x80131019) Класс ошибки: CPiException" Пробовал по LoadFile результат тотже. 
Доп. информация: сборка генерится как winexe, но имеет нестандартное расширение. В visual studio 2005 она тоже не добавляется. НО!!! Если переименовываешь её в exe или dll ивсе нормально работает... по крайней мере в стдии

Автор: marcusmae 19.3.2008, 21:10
axelprog, код в студию. По крайней мере узнаем нормальное google-абельное англоязычное название этой ошибки.

Автор: axelprog 20.3.2008, 16:05
В принципе нашел причину. Дело в том, что при генерации сборки она компилится как  windows application 
( PEFileKinds appKind = (target == "exe") ? PEFileKinds.ConsoleApplication : PEFileKinds.WindowApplication;
                        context.BldAssembly.SetEntryPoint(context.EntryPoints[0].MethodInfo, appKind);)
а по лоаду загружается дллка. Осталась продлемма, какподгрузить сборку - winApp.

Англоязычный вариант ошибки: IO.FileLoadException: Attempt to load an unverifiable executable with fix ups (IAT with more than 2 sections or a TLS section.) 

Кода оч. много из разых сборок. поэтому приводить не буду. Выше генерация сборки, а сама сборка подключается по Assembly.Load (или LoadFile)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)