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


Совместное использование библиотек с не вполне надежным кодом

Обновлен: Ноябрь 2007

Прежде чем совместно используемые библиотеки смогут вызываться не вполне надежным кодом, необходимо предпринять несколько шагов. Дополнительные сведения по этой проблеме см. в разделе Использование библиотек из не вполне доверенного кода. Разрешить не вполне надежный доступ к библиотекам можно, выполнив следующие три действия.

Строгое именование сборки

Прежде чем библиотека сможет совместно использоваться через глобальный кэш сборок или как загружаемый компонент, необходимо создать строгое имя. Для присвоения строгого имени библиотеке выполните следующие шаги, описанные в разделе Создание и использование сборок со строгими именами.

  1. Создайте пару ключей.

  2. Используйте компоновщик сборок (Al.exe) или атрибут сборки для привязки пары ключей к библиотеке.

Отключение LinkDemand

Чтобы запретить неявный вызов LinkDemand, блокирующий вызовы совместно используемых библиотек из не вполне надежного кода, примените атрибут AllowPartiallyTrustedCallersAttribute к уровню сборки кода.

В следующем примере кода демонстрируется применение атрибута AllowPartiallyTrustedCallersAttribute к совместно используемой библиотеке.

[Visual Basic]

<assembly:AllowPartiallyTrustedCallersAttribute()>
[assembly:AllowPartiallyTrustedCallersAttribute()] 

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

Предоставление общего доступа к библиотеке

После выполнения предыдущих действий можно предоставить общий доступ к библиотеке, поместив ее в глобальный кэш сборок. Дополнительные сведения см. в разделе Установка сборки в глобальный кэш сборок.

9ykfdse9.alert_note(ru-ru,VS.90).gifПримечание.

Для того чтобы не вполне надежные вызывающие объекты могли вызывать выбранные классы или члены библиотеки, можно применить требования к определенным классам или членам. Дополнительные сведения см. в разделе Требование полного доверия для типов в сборке с атрибутом AllowPartiallyTrustedCallersAttribute.

См. также

Основные понятия

Использование библиотек из не вполне надежного кода

Другие ресурсы

Управление доступом для кода