Получение null из GetHostEvidence()

Я пытаюсь выполнить http://msdn.microsoft.com/en-us/library/bb763046.aspx для создания изолированной программы для запуска ненадежного кода.

Когда я выполняю это в своем классе Sandboxer:

StrongName fullTrustAssembly = typeof(Sandboxer).Assembly.Evidence.GetHostEvidence<strongname>();
</strongname>

Я верну null. Зачем? Как это исправить?

2 ответа

Согласно связанной с вами странице, все вызовы GetHostEvidence<t>()</t> поставляются с параметром StrongName в качестве параметра типа. Если сборка не имеет сильного имени (не все), она возвращает null.


Вы должны подписать свою заявку. Самый простой способ сделать это:

  1. Щелкните правой кнопкой мыши на своем проекте в обозревателе решений и выберите " Свойства".
  2. Перейдите на вкладку " Подпись "
  3. Проверить подпись сборки
  4. В раскрывающемся списке выберите <Создать...>
  5. Введите имя в имени файла ключа
  6. Пароль не является обязательным, поэтому вы можете снять флажок " Защитить мой файл ключа" паролем
  7. Нажмите ОК.

Запустите прогон частично доверенного кода в примере с песочницей. Он должен работать.

licensed under cc by-sa 3.0 with attribution.