Была сделана попытка загрузить сборку из сетевого расположения, из-за чего сборка была бы изолированной

.Net 4.0: Получение ошибки "была сделана попытка загрузить сборку из сетевого расположения, из-за чего сборка была бы изолированной" применяемая настройка

<loadFromRemoteSources enabled="true"/>

не помогло. Как я могу узнать, какая сборка вызывает проблему? Как я могу его решить?

Ответ 1

Я также столкнулся с этой проблемой, но моя проблема произошла, потому что файл был заблокирован, так как он был загружен из незащищенного источника, GMail в моем случае. Я решил это

  1. Щелкните правой кнопкой мыши проблемный файл
  2. Нажмите Свойства
  3. Нажмите Разблокировать

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

Подробнее об этом решении здесь и здесь

Ответ 2

Чтобы найти проблемную сборку, используйте fuslogvw (часть Windows SDK и, следовательно, установлена ​​с каждой Visual Studio).

Чтобы устранить эту проблему, вам действительно нужно добавить элемент loadFromRemoteSources в файл конфигурации вашего приложения. Вы уверены, что добавили loadFromRemoteSources внутри <runtime> Элемент?

В качестве альтернативы вы можете перейти на .NET 4.5, потому что MSDN говорит:

В .NET Framework 4.5 сборки по сетевым ресурсам по умолчанию запускаются как полное доверие; вам не нужно включать элемент

Ответ 3

Я видел это там, где упоминается "сетевое расположение", и вы используете локальную локальную сеть (то есть не удаленно), но она была скопирована из удаленного места (например, веб-сайт общего доступа к файлам).

В этом случае я подозревал, что DLL была заблокирована из-за концепции потоков, но диалог свойств пользовательского интерфейса проводника не показывал кнопку "разблокировать".

Чтобы обойти это, я использовал инструмент sysinternals "streams" (найти здесь: Загрузка потоков) следующим образом:

streams <your dll> -> view stream
streams -d <your dll> -> delete the stream data on a file

Также есть опция recurse с -r, если вы хотите настроить таргетинг на группу файлов.

Я надеюсь, что это поможет кому-то другому - это было сложно, потому что пользовательский интерфейс не показывал, что он заблокирован, но это явно (возможно, из-за какой-то другой меры безопасности здесь).

Это решение также означает, что вам не нужно настраивать флаг loadFromRemoteSources, поскольку это довольно широкий штрих.