Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Common Intermediate Language и системное программирование в Microsoft .NET / 25 сообщений из 26, страница 1 из 2
27.06.2014, 15:31
    #38681994
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Доброго времени суток.
Читаю электронную версию книги " Common Intermediate Language и системное программирование в Microsoft .NET " и компилирую код её примеров. В приложении А приводятся исходники приложения, написанного на языке C. Это приложение, в свою очередь, генерирует простой exe файл .NET приложения.

Я скомпилировал исходники в VS 2013. Полученное приложение успешно запустилось и, в свою очередь, сгенерировало новый exe файл (управляемый). Однако попытка запустить этот exe приводит к появлению окна с сообщением об ошибке:
hello.exe - Ошибка приложенияОшибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку "ОК".

Если кто-то из присутствующих уже изучал обозначенный мною материал и в курсе о причине ошибки, то буду признателен за разъяснение.

С уважением, Андрей.
...
Рейтинг: 0 / 0
28.06.2014, 09:35
    #38682515
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Compositum,

Книга старая, попробуйте для начала установить в свойствах проекта версию NetFramework 2.0
...
Рейтинг: 0 / 0
28.06.2014, 10:10
    #38682522
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Cat2Книга старая, попробуйте для начала установить в свойствах проекта версию NetFramework 2.0
Как я уже писал, это C, а не .NET.
...
Рейтинг: 0 / 0
28.06.2014, 10:20
    #38682524
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Compositum,

А... Не заметил.
Но все равно, дело скорее всего в каком-то конфликте версий сгенерированной проги, о чем косвенно говорит 0xc000007b
...
Рейтинг: 0 / 0
28.06.2014, 10:26
    #38682528
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
На компьютере установлены все версии .NET Framework, в т.ч. и самые старые.
...
Рейтинг: 0 / 0
28.06.2014, 10:54
    #38682536
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
CompositumНа компьютере установлены все версии .NET Framework, в т.ч. и самые старые.x86, x64 ? Проверить, везде ли установлена явно компиляция под x86 ?
...
Рейтинг: 0 / 0
28.06.2014, 10:55
    #38682537
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Алексей К,

win7 x86
...
Рейтинг: 0 / 0
28.06.2014, 10:55
    #38682538
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Cat2Compositum,

Книга старая, попробуйте для начала установить в свойствах проекта версию NetFramework 2.0VS 2013 не поддерживает .Net 2
...
Рейтинг: 0 / 0
28.06.2014, 10:56
    #38682540
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Алексей КVS 2013 не поддерживает .Net 2
я же писал выше:
CompositumКак я уже писал, это C, а не .NET.
...
Рейтинг: 0 / 0
28.06.2014, 10:57
    #38682542
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
CompositumАлексей К,

win7 x86Тогда может где-то не хватает админских прав?
...
Рейтинг: 0 / 0
28.06.2014, 10:59
    #38682543
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
CompositumАлексей КVS 2013 не поддерживает .Net 2
я же писал выше:
CompositumКак я уже писал, это C, а не .NET. Да, я видел. Это я для Cat2 добавил ремарку навсякий.
...
Рейтинг: 0 / 0
28.06.2014, 20:58
    #38682737
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Алексей КCat2Compositum,

Книга старая, попробуйте для начала установить в свойствах проекта версию NetFramework 2.0VS 2013 не поддерживает .Net 2

В каком смысле "не поддерживает" ?
...
Рейтинг: 0 / 0
29.06.2014, 14:08
    #38682997
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Не знаю, поможет или нет разобраться с причиной, но я недавно попробовал Manadged DirectX по книге "Т. Миллер - DirectX 9 с управляемым кодом". Так вот. Книга старая, времен 2.0. Примеы компилились, но не работали, так как в app.config надо добавить строку, разрешающие использовать сборки старых версий. Текст у меня неа работе, чо надо было вставить - не поню.
Возможно причина аналогична.

Compositum.

Не могли бы Вы приложить текст на С?
Не очень хочется искать его на просторах интернета
...
Рейтинг: 0 / 0
29.06.2014, 14:30
    #38683013
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Cat2,
секция startup смешанный режим useLegacyV2RuntimeActivationPolicy="true" не?
...
Рейтинг: 0 / 0
29.06.2014, 14:57
    #38683022
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
LelouchАлексей Кпропущено...
VS 2013 не поддерживает .Net 2

В каком смысле "не поддерживает" ?Ок, уточню.
...
Рейтинг: 0 / 0
29.06.2014, 15:13
    #38683030
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Где-то в степиCat2,
секция startup смешанный режим useLegacyV2RuntimeActivationPolicy="true" не?

Завтра с работы точно напишу
...
Рейтинг: 0 / 0
29.06.2014, 22:11
    #38683203
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Cat2Не могли бы Вы приложить текст на С?
Не очень хочется искать его на просторах интернета
Во вложении.

Программа, написанная на C, должна генерировать простую .NET программу, задача которой - отправлять в консоль переданные ей параметры.
...
Рейтинг: 0 / 0
29.06.2014, 22:28
    #38683207
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Compositum,

подход - сомнительный - генерация exe

Куда полезнее генерация кода на IL и последующая компиляция при помощи ILASM
или генерация IL кода по ходу выполнения (System.Reflection.Emit)

PS
ILDASM - нормально разбирает exe ?
Если да - что происходит при последующей компиляции ILASM?
...
Рейтинг: 0 / 0
29.06.2014, 22:39
    #38683210
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Изопропилподход - сомнительный - генерация exe

Куда полезнее генерация кода на IL и последующая компиляция при помощи ILASM
или генерация IL кода по ходу выполнения (System.Reflection.Emit)

Вы смотрите на код как таковой, вместо того, чтобы смотреть на него как на материал в контексте обозначенной мною выше книги. В ней рассматривается как CIL, так и программное создание PE (Portable Executable) файлов, в которых этот код, собственно, и размещается. На вопрос "зачем?" заранее отвечу просто: мне интересно.
...
Рейтинг: 0 / 0
29.06.2014, 22:44
    #38683211
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
ИзопропилILDASM - нормально разбирает exe ?
ILDASM---------------------------
ERROR
---------------------------
error : Failed to open meta data
---------------------------
ОК
---------------------------
...
Рейтинг: 0 / 0
29.06.2014, 22:49
    #38683212
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Compositum,
может через трубу его взять ( екзешник управляемый разворошить), в общем то сомнительный подход в свете выхода roslyn_а
ну что делать учеба есть учеба..
...
Рейтинг: 0 / 0
29.06.2014, 23:04
    #38683218
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Где-то в степичерез трубу
?
...
Рейтинг: 0 / 0
29.06.2014, 23:14
    #38683220
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Compositum,
распечатать екзешник рефлектором ))
...
Рейтинг: 0 / 0
29.06.2014, 23:17
    #38683222
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Где-то в степираспечатать екзешник рефлектором ))
Я пробовал через ILSpy.
ILSpySystem.ArgumentOutOfRangeException: Заданный аргумент находится вне диапазона допустимых значений.
в Mono.Cecil.PE.ImageReader.MoveTo(DataDirectory directory)
в Mono.Cecil.PE.ImageReader.ReadMetadata()
в Mono.Cecil.PE.ImageReader.ReadImage()
в Mono.Cecil.PE.ImageReader.ReadImageFrom(Stream stream)
в Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
в Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
в ICSharpCode.ILSpy.LoadedAssembly.LoadAssembly()
в System.Threading.Tasks.Task`1.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
...
Рейтинг: 0 / 0
29.06.2014, 23:22
    #38683225
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Common Intermediate Language и системное программирование в Microsoft .NET
Compositum,

кривые метаданные

Сделать exe штатным способом (ILASM, мнимум метаданных в исходнике) и смотреть внимательно на exe
далее - искать ошибку в примере на С
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Common Intermediate Language и системное программирование в Microsoft .NET / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]