Содержимое сборки
Утилита lldasm.exe может использоваться для просмотра содержимого сборки, чтобы лучше понять, как работают управление версиями, цифровое подписание и развертывание. Сначала нам понадобится сборка для экспериментирования. Здесь поможет компонент SimpleComponent, созданный с помощью Visual Studio .NET. Для его создания мы в диалоге New Project (Новый проект) выбрали шаблон managed C++ Class Library (Управляемый C++ на основе Библиотеки классов).
Название проекта – SimpleComponent, а в следующих исходных файлах приведена его реализация, которая только немного изменяется в зависимости от кода, сгенерированного мастером. Вспомните, что важно объявить метод AddEmUp общедоступным, чтобы он был видим для кода вне данной сборки.
//Assemblylnfо.cpp #include "stdafx.h" // имеет #using <mscorlib.dll> using namespace System::Reflection; // использование пространства имен Система::Отражение; using namespace System::Runtime::CompilerServices; // использование пространства имен // Система::Время выполнения::CompilerServices; [_assembly::AssemblyTitleAttribute("")]; [_assembly:: AssemblyDescriptionAttnbute ("") ]; [_assembly::AssemblyConfigurationAttribute("")]; [_assembly:: AssernblyCornpanyAttribute ("") ]; [_assembly::AssemblyProductAttribute("")]; [_assembly::AssemblyCopyrightAttribute("")]; [_assembly::AssemblyTrademarkAttribute("") ]; [_assembly::AssemblyCultureAttribute("")]; [_assembly::AssemblyVersionAttribute("1.0.*")]; [_assembly::AssemblyDelaySignAttribute(false) ]; [_assembly::AssemblyKeуFileAttribute("")]; t_assembly::AssemblyKeyNameAttribute("")]; //SimpleComponent.cpp #include "stdafx.h" // имеет #using <mscorlib.dll> #include "SimpleComponent.h" // SimpleComponent.h using namespace System; // использование пространства имен Система; namespace SimpleComponent // пространство имен SimpleComponent { public _gc class SomeClass // класс сборщика мусора SomeClass { public: // должен быть общедоступен, чтобы сборка могла // предоставлять его для использования int AddEmUp(int i, int j) { return i+j; } }; }
Как только вы создали сборку компонентов .NET, содержащую вышеупомянутый код и скомпоновали ее, вы можете с помощью Ildasm.exe просмотреть ее содержимое, включая декларацию. Декларация содержит следующую информацию о сборке:
- сборка идентифицируется по имени, версии, культуре, и, при необходимости, по цифровой сигнатуре (подписи);
- список файлов, которые составляют содержимое сборки;
- список других сборок, от которых зависит данная сборка;
- список разрешений, требуемых сборкой для ее выполнения.
Все это можно увидеть с помощью утилиты Ildasm. Чтобы ее запустить, выполните следующую команду:
Ildasm SimpleComponent.dll
Результат выполнения показан на рис. 7.1.
Рис. 7.1. Ildasm вле показывает содержимое SimpleComponent.dll