Делать это, вероятно, будет немного сложно.Вот две возможные мысли:
Первый - запустить приложение со средним уровнем доверия, но поместить все, что вы хотите, с полным доверием в GAC, и то, что вы хотите, с частичным доверием, в bin..
Обратите внимание, что в вашем сценарии «наоборот» доверенному элементу управления может потребоваться выполнить «проверку безопасности», прежде чем он сможет выполнить операции полного доверия.Например,
(new SecurityPermission(SecurityPermissionFlag.UnmanagedCode)).Assert();
Вторая мысль заключается в том, чтобы запустить приложение в режиме полного доверия, а затем загрузить любую сборку, которую вы хотите запустить в режиме среднего доверия, используя пользовательский Evidence .например,
var evidence = new Evidence();
// Initialize the Evidence
Assembly.LoadFrom(path, evidence);
Но имейте в виду, что правильная настройка объекта «Свидетельство» не для слабонервных, и я не уверен, что пошел бы этим путем.
Не полныйответим, но, надеюсь, некоторые идеи, которые могут привести к одному:)