Короче говоря, это два совершенно разных понятия с, к сожалению, похожими именами.
Манифест приложения - это файл XML, встроенный или распространяемый вместе с двоичным файлом PE (управляемым или собственным), который дает загрузчику ОС инструкции о таких вещах, как зависимости сборки SxS, требуемое повышение прав, Совместимость с версией ОС и т. Д.
Манифест сборки - это раздел в сборке CLI, в котором указаны зависимости управляемой сборки, файлы, из которых она состоит, открытый ключ сборки, экспорт типов, флаги CLR и т. Д. Вы можете проверить манифест сборки, используя ILDASM.exe или большинство декомпиляторов .NET.
Соответствующая выдержка из ECMA 335 (спецификация CLI), раздел I.9.6:
Манифесты: каждая сборка имеет манифест, который объявляет, какие файлы
составляют сборку, какие типы экспортируются, а какие другие
сборки необходимы для разрешения ссылок на типы внутри
сборка. Так же, как компоненты CLI самоописывают себя через метаданные в
компонент CLI, так что сборки самоописывают через свои
проявляется. Когда один файл составляет сборку, он содержит
метаданные, описывающие типы, определенные в сборке, и
метаданные, описывающие саму сборку. Когда сборка содержит
более одного файла с метаданными, каждый из файлов описывает
типы, определенные в файле, если таковые имеются, и один из этих файлов также
содержит метаданные, описывающие сборку (включая имена
другие файлы, их криптографические хеши и типы, которые они экспортируют
снаружи сборки).
Обратите внимание, что:
- все управляемые сборки должны иметь манифесты сборки, исполняемые файлы и библиотеки;
- все собственные двоичные файлы, исполняемые файлы и библиотеки, может иметь манифесты приложения.