Компиляция CIL-кода с помощью ilasm.exe

We use cookies. Read the Privacy and Cookie Policy

Компиляция CIL-кода с помощью ilasm.exe

Сохранив измененный файл *.il, вы можете скомпилировать новый компоновочный блок .NET, используя для этого утилиту ilasm.exe (компилятор CIL). Возможно, вы удивитесь тому, что компилятор CIL имеет гораздо меньше опций командной строки, чем компилятор C#. В табл. 15.1 приводятся их описания.

Таблица 15.1. Опции командной строки ilasm.exe 

Опция Описание /debug Включает информацию отладки (такую как имена локальных переменных и аргументов, а также номера строк) /dll Создает выходной файл" *.dll /exe Создает выходной файл *.exe. Это значение устанавливается по умолчанию, поэтому его можно опустить /key Компилирует компоновочный блок со строгим именем, используя заданный файл *.snk /noautoinherit Запрещает автоматическое наследование типов класса из System. Object, когда конкретный базовый класс не определен /output Указывает имя и расширение выходного файла. Если флаг /output не используется, имя выходного файла будет соответствовать имени первого исходного файла

Чтобы откомпилировать обновленный файл simplehelloclass.il в .NET-файл *.exe, в командном окне Visual Studio 2005 выполните следующую команду.

ilasm.exe HelloProgram.il

Если все пройдет без сбоев, вы должны получить вывод, подобный показанному на рис. 15.1.

Рис. 15.1. Компиляция файлов *.il с помощью ilasm.exe

После этого вы сможете выполнить свое новое приложение. Достаточно очевидно, что теперь вместо сообщения в окне консоли вы должны увидеть окно Windows с вашим сообщением (рис. 15.2).

Рис. 15.2. Результат челночной технологии