Как я динамично загружаю необработанные блоки, который содержит неуправляемый код? (обход 'кода Неподдающегося проверке привел исключение' проверки политики к сбою),

Я собираюсь дать пример использования System.Data.SQLite.DLL, который является смешанным блоком с неуправляемым кодом: Если я выполняю это:

  var assembly= Assembly.LoadFrom("System.Data.SQLite.DLL")

Никакие исключения не выдаются, но если я делаю это:

  var rawAssembly = File.ReadAllBytes("System.Data.SQLite.DLL");
  var assembly = Assembly.Load(rawAssembly);

CLR бросает FileLoadException с отказавшей проверкой политики "кода Неподдающегося проверке. (Исключение из HRESULT: 0x80131402)". Скажем, я пытаюсь загрузить этот блок на дочернем AppDomain, как я могу настроить безопасность AppDomain, чтобы позволить мне, проходят проверку политики?

19
задан Hans Passant 31 May 2010 в 23:43
поделиться

1 ответ

Мы стали жертвой неприятного сообщения об исключении. Загрузка сборок с помощью Assembly.Load (byte []), содержащих неуправляемый код, не поддерживается. Это тема отзыва .

ОБНОВЛЕНИЕ: связанный элемент обратной связи исчез, удален как часть очистки во время выпуска VS2012. Единственная его часть, которую можно восстановить, - это этот фрагмент, скопированный с другой веб-страницы:

«[…] мы разрешаем загружать только изображения ILOnly […], поскольку все остальное небезопасно» -

ОБНОВЛЕНИЕ: ссылка исправлена ​​с резервной копией archive.org.

18
ответ дан 30 November 2019 в 04:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: