Вход/Регистрация
ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
вернуться

Троелсен Эндрю

Шрифт:

csc.exe /t:module ufo.cs

Если теперь заглянуть в папку, содержащую файл ufo.cs, вы должны увидеть новый файл с именем ufo.netmodule (проверьте!). После этого создайте новый файл с именем helicopter.cs, содержащий следующее определение класса.

using System;

namespace AirVehicles {

 public class Helicopter {

public void TakeOff {

Console.WriteLine("Вертолет на взлет!");

}

 }

}

Поскольку название airvehicles.dll было зарезервировано для первичного модуля нашего многомодульного компоновочного блока, вам придется компилировать helicopter.cs с использованием опций /t:library и /out:. Чтобы поместить запись о двоичном объекте ufo.netmodule в манифест компоновочного блока, вы должны также указать флаг /addmodule. Все это делает следующая команда.

csc /t:library /addmodule:ufo.netmodule /out:airvehicles.dll helicopter.cs

К этому моменту ваш каталог должен содержать первичный модуль airvehicles.dll, а также вторичный ufo.netmodule.

Анализ файла ufo.netmodule

Теперь с помощью ildasm.exe откройте ufo.netmodule. Вы убедитесь, что *.netmodule содержит манифест уровня модуля, однако его единственной целью является указание списка всех внешних компоновочных блоков, на которые есть ссылки в соответствующем программном коде. Поскольку класс Ufo, по сути, выполняет только вызов Console.WriteLine, вы обнаружите следующее.

.assembly extern mscorlib {

 .publickeytoken = (B7 7A 5C 56 19 34 E0 89)

 .ver 2:0:0:0

}

.module ufo.netmodule

Анализ файла airvehicles.dll

Теперь в помощью ildasm.exe откройте первичный модуль airvehicles.dll и рассмотрите манифест уровня компоновочного блока. Вы увидите, что лексемы.file документируют ассоциированные модули многомодульного компоновочного блока (в данном случае ufo.netmodule). Лексемы.class extern используются для указания имен внешних типов из вторичного модуля (Ufo), на которые имеются ссылки.

.assembly extern mscorlib {

 .publickeytoken = (B7 7A 5C 56 19 34 E0 89)

 .ver 2:0:0:0

}

.assembly airvehiсles {

 …

 .hash algorithm 0x00008004

 .ver 0:0:0:0

}

.file ufо.netmodule

…

.class extern public AirVehicles.Ufo {

 .file ufo.netmodule

 .class 0x02000002

}

.module airvehicles.dll

Снова подчеркнем, что манифест компоновочного блока является единственным объектом, связывающим airvehicles.dll и ufo.netmodule. Указанные два бинарных файла не содержатся в одном, большем *.dll.

Использование многомодульного компоновочного блока

Пользователей многомодульного компоновочного блока не должно заботить то, что компоновочный блок, на который они ссылаются, состоит из нескольких модулей. Чтобы пояснить ситуацию, мы построим новое приложение-клиент Visual Basic .NET с командной строки. Создайте новый файл Client.vb, содержащий приведенное ниже определение. Сохраните его в там месте, где находится ваш многомодульный компоновочный блок.

Imports AirVehicles

 Module Module1

 Sub Main

Dim h As New AirVehicles.Helicopter

h.Takeoff

' Это загрузит *.netmodule по требованию.

Dim u As New UFO

u.AbductHuman

Console.ReadLine

 End Sub

End Module

Чтобы скомпилировать этот выполняемый компоновочный блок с командной строки, используйте компилятор командной строки Visual Basic .NET vbc.exe со следующим набором команд.

vbc /r:airvehicles.dll *.vb

Обратите внимание на то, что при ссылке на многомодульный компоновочный блок компилятору нужно указать только имя первичного модуля (файлы *.netmodule загружаются по запросу программного кода клиента). В самих файлах *.netmodules нет индивидуального номера версии, и они не могут непосредственно загружаться средой CLR Файл *. netmodule может загружаться только первичным модулем (например, файлом, содержащим манифест компоновочного блока).

  • Читать дальше
  • 1
  • ...
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • ...
Жанры
  • Романы
    • Исторические любовные романы
    • Эро литература
    • Современные любовные романы
    • Короткие любовные романы
    • Love Action
    • Остросюжетные любовные романы
    • Романы про измену
    • Прочие любовные романы
    • Любовно-фантастические романы
    • Зарубежные любовные романы
  • Приключения
    • Прочие приключения
    • Вестерны
    • Исторические приключения
    • Морские приключения
    • Путешествия и география
    • Зарубежные приключения
    • Приключения про индейцев
    • Природа и животные
  • Детективы
    • Техно триллер
    • Дамский детективный роман
    • Исторические детективы
    • Классические детективы
    • Шпионские детективы
    • Триллеры
    • Юридический триллер
    • Крутой детектив
    • Полицейские детективы
    • Медицинский триллер
    • Иронические детективы
    • Боевики
    • Криминальные детективы
    • Политические детективы
    • Маньяки
    • Зарубежные детективы
    • Прочие Детективы
    • Спецслужбы
  • Драматургия
    • Водевиль
    • Драма
    • Киносценарии
    • Мистерия
    • Пьесы
    • Сценарии
    • Трагедия
    • Зарубежная драматургия
  • Фантастика
    • Хентай
    • Ранобэ
    • Сянься
    • Дорама
    • Уся
    • Аниме
    • Космоопера
    • Юмористическая фантастика
    • Боевая фантастика
    • Героическая фантастика
    • Технофэнтези
    • Готический роман
    • Социально-философская фантастика
    • Попаданцы
    • Историческая фантастика
    • Ироническая фантастика
    • Зарубежная фантастика
    • Историческое фэнтези
    • Юмористическое фэнтези
    • Детективная фантастика
    • Эпическая фантастика
    • Мистика
    • Космическая фантастика
    • Фантастика: прочее
    • Постапокалипсис
    • Научная фантастика
    • Киберпанк
    • Альтернативная история
    • Ненаучная фантастика
    • РПГ
    • Стимпанк
    • Ироническое фэнтези
    • Ужасы и мистика
    • Сказочная фантастика
    • Фэнтези
    • Городское фэнтези
  • Эзотерика
    • Язычество
    • Фэн-шуй
    • Христианство
    • Религия
    • Зарубежная религиозная литература
    • Православие
    • Эзотерика
    • Хиромантия
    • Индуизм
    • Ислам
    • Протестантизм
    • Самосовершенствование
    • Буддизм
    • Католицизм
    • Астрология
    • Прочая религиозная литература
    • Иудаизм
  • Проза
    • Военная проза
    • Легкая проза
    • Сентиментальная проза
    • Советская классическая проза
    • Антисоветская литература
    • Афоризмы
    • Эпистолярная проза
    • Новелла
    • Семейный роман
    • Рассказ
    • Классическая проза
    • Эпопея
    • Эссе
    • Проза прочее
    • Повесть
    • Магический реализм
    • Современная проза
    • Контркультура
    • Роман
    • Историческая проза
    • Русская классическая проза
    • Феерия
  • Стихи и поэзия
    • Визуальная поэзия
    • Эпическая поэзия
    • в стихах
    • Песенная поэзия
    • Поэзия
    • Палиндромы
    • Cтихи, поэзия
    • Зарубежная поэзия
    • Верлибры
    • Экспериментальная поэзия
    • Лирика
    • Басни
    • Драматургия
  • Юмор
    • Зарубежный юмор
    • Юмористические стихи
    • Сатира
    • Прочий юмор
    • Комедия
    • Юмористическая проза
    • Анекдоты
  • Дом и досуг
    • Рыбалка
    • Охота
    • Здоровье детей
    • Домашние животные
    • Воспитание детей
    • Отдых / туризм
    • Зарубежная прикладная литература
    • Прочее домоводство
    • Прикладная литература
    • Домашнее хозяйство
    • Кулинария
    • Медицина и здоровье
    • Сделай сам
    • Спорт
    • Хобби и ремесла
    • Образовательная литература
    • Сад и Огород
    • Здоровье и красота
    • Развлечения
    • Коллекционирование
    • Секс / секс-руководства
  • Образование и наука
    • Боевые искусства
    • Органическая химия
    • Обществознание
    • Военная история
    • Ветеринария
    • Ораторское искусство / риторика
    • Физика
    • Химия
    • Семейная психология
    • Военная техника и вооружение
    • Иностранные языки
    • Прочая научная литература
    • Психотерапия и консультирование
    • Биохимия
    • Cпецслужбы
    • Астрономия и Космос
    • Школьные учебники
    • Учебная и научная литература
    • Учебники
    • Государство и право
    • Психология
    • Литературоведение
    • История
    • Научно-популярная литература
    • Политика
    • Детская психология
    • Юриспруденция
    • Шпаргалки
    • Педагогика
    • Физическая химия
    • Медицина
    • Биофизика
    • Языкознание
    • Зарубежная образовательная литература
    • Зоология
    • Геология и география
    • Краткое содержание
    • Зарубежная психология
    • Саморазвитие / личностный рост
    • Технические науки
    • Религиоведение
    • Военное дело
    • Личная эффективность
    • Аналитическая химия
    • Рефераты
    • Экология
    • Философия
    • Альтернативная медицина
    • Математика
    • Культурология
    • Военное дело: прочее
    • Ботаника
    • Биология
  • Словари и Энциклопедии
    • Бизнес-справочники
    • Справочники
    • Словари
    • Руководства
    • Энциклопедии
    • Словари, справочники
    • Путеводители
    • Прочая справочная литература
    • Зарубежная справочная литература
  • Финансы и бизнес
    • Отраслевые издания
    • Бухучет и аудит
    • Недвижимость
    • Деловая литература
    • Ценные бумаги
    • Внешнеэкономическая деятельность
    • Торговля
    • Зарубежная деловая литература
    • О бизнесе популярно
    • Стартапы и создание бизнеса
    • Корпоративная культура
    • Управление, подбор персонала
    • Маркетинг, PR, реклама
    • Личные финансы
    • Работа с клиентами
    • Менеджмент
    • Интернет-бизнес
    • Поиск работы, карьера
    • Малый бизнес
    • Делопроизводство
    • Государственное и муниципальное управление
    • Банковское дело
    • Экономика
  • Книги по IT
    • Прочая компьютерная литература
    • Базы данных
    • Цифровая обработка сигналов
    • Программное обеспечение
    • Интернет
    • Программирование
    • Зарубежная компьютерная литература
    • ОС и Сети
    • Компьютерное «железо»
  • Техника
    • Архитектура
    • Автомобили и ПДД
    • Строительство и сопромат
    • Металлургия
    • Транспорт и авиация
    • Радиоэлектроника
  • Древние книги
    • Зарубежная старинная литература
    • Мифы. Легенды. Эпос
    • Древневосточная литература
    • Древнерусская литература
    • Прочая старинная литература
    • Античная литература
    • Европейская старинная литература
  • Документальное
    • Историческая литература
    • Публицистика
    • Научпоп
    • Критика
    • Книги о войне
    • Истории из жизни
    • Военная документалистика
    • Зарубежная публицистика
    • Биографии и мемуары
    • Прочая документальная литература
  • Прочее
    • Интерьеры
    • Газеты и журналы
    • Театр
    • Музыка
    • Комиксы / манга
    • Зарубежная классика
    • Современная зарубежная литература
    • Изобразительное искусство, фотография
    • Мода и стиль
    • Искусство и Дизайн
    • Зарубежная литература о культуре и искусстве
    • Фанфик
    • Подростковая литература
    • Шахматы
    • Кино
    • Культура и искусство
    • Недописанное
    • Классическая литература
  • Без Жанра
    • Разное
    • Иностранная литература
  • Народные
    • Загадки
    • Народные сказки
    • Народные песни
    • Былины
    • Частушки
    • Фольклор: прочее
    • Пословицы, поговорки
  • Книги Для Детей
    • Детские остросюжетные
    • Сказки
    • Детские стихи
    • Прочая детская литература
    • Детская образовательная литература
    • Книги для дошкольников
    • Детская фантастика
    • Детские детективы
    • Книга-игра
    • Детский фольклор
    • Буквари
    • Детская проза
    • Детская познавательная и развивающая литература
    • Внеклассное чтение
    • Зарубежные детские книги
    • Детские приключения
Сейчас Читают
Дарующая счастье
Дарующая счастье
Рем Терин
Стеллар. Трибут
Стеллар. Трибут
Прокофьев Роман Юрьевич
Александр Агренев. Трилогия
Александр Агренев. Трилогия
Кулаков Алексей Иванович
Маршал Советского Союза. Трилогия
Маршал Советского Союза. Трилогия
Ланцов Михаил Алексеевич
Убивать, чтобы жить
Убивать, чтобы жить
Бор Жорж
Кровь на эполетах
Кровь на эполетах
Дроздов Анатолий Федорович
Деспот
Деспот
Шагаева Наталья
Газлайтер. Том 3
Газлайтер. Том 3
Володин Григорий
Пустоцвет
Пустоцвет
Зика Натаэль
Черный Маг Императора 4
Черный Маг Императора 4
Герда Александр

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: