Поделиться через


Сборки со строгими именами (подписывание сборок) (C++/CLI)

В этом разделе описывается, как подписывать сборку, часто называемую указанием строгого имени сборки.

Замечания

При использовании Visual C++ используйте параметры компоновщика для подписи сборки, чтобы избежать проблем, связанных с атрибутами CLR для подписи сборки.

Причины не использования атрибутов включают тот факт, что имя ключа отображается в метаданных сборки, что может быть угрозой безопасности, если имя файла содержит конфиденциальную информацию. Кроме того, процесс сборки, используемый средой разработки Visual C++, аннулирует ключ, с помощью которого сборка подписана, если вы используете атрибуты CLR для присвоения сборке строгого имени, а затем запускаете инструмент для последующей обработки, например mt.exe, на этой сборке.

Если вы создаете в командной строке, используйте параметры компоновщика для подписи сборки, а затем запустите средство постобработки (например, mt.exe), то вам потребуется повторно подписать сборку с помощью sn.exe. Кроме того, можно создать сборку и отложить её подпись, а затем, после запуска инструментов постобработки, завершить подписание.

Если вы используете атрибуты подписания при сборке в среде разработки, вы можете успешно выполнить подпись сборки, явно вызвав sn.exe (Sn.exe (Strong Name Tool)) в событии после сборки. Дополнительные сведения см. в разделе Указание событий сборки. Время сборки может быть меньше, если вы используете атрибуты и событие после сборки, чем при использовании опций компоновщика.

Следующие параметры компоновщика поддерживают подпись сборки:

Дополнительные сведения о надежных сборках см. в разделе «Создание и использование сборок со строгим именем».

См. также

Программирование .NET с использованием C++/CLI (Visual C++)