Манифест содержит информацию о сборках, такую как версия, локаль имени и необязательное строгое имя, однозначно идентифицирующее сборку.Эта информация о манифесте используется CLR.Манифест также содержит требования безопасности для проверки этой сборки.Он также содержит имена и хэши всех файлов, из которых состоит сборка.Манифест сборки .NET содержит криптографический хэш различных модулей в сборке.И когда сборка загружена, CLR пересчитывает хэш имеющихся модулей и сравнивает его со встроенным хешем.Если хеш, сгенерированный во время выполнения, отличается от того, который был найден в манифесте, .NET отказывается загружать сборку и выдает исключение.
Метаданные означают данные о данных.Метаданные выдают типы, доступные в этой сборке, а именно.классы, интерфейсы, перечисления, структуры и т. д. и содержащие их пространства имен, имя каждого типа, его видимость / область действия, его базовый класс, реализованные интерфейсы, его методы и их область действия, а также параметры каждого метода, свойства типа,и так далее.Метаданные сборки генерируются компиляторами высокого уровня автоматически из исходных файлов.Компилятор встраивает метаданные в целевой выходной файл, dll, .exe или .netmodule в случае многомодульной сборки.