Ошибка loadFromRemoteSources при использовании Assembly.LoadFrom - PullRequest
7 голосов
/ 25 ноября 2011

У меня есть код ниже в приложении .Net 4 Winforms, которое загружает сборку. Все файлы находятся на C :. Существует множество DLL-библиотек, которые работают нормально, но с двумя ошибками:

Была предпринята попытка загрузить сборку из сетевого расположения, которое вызвало бы сборку для песочницы в предыдущих версиях .NET Framework. Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому груз может быть опасным. Если этот груз не предназначен для песочницы сборка, пожалуйста, включите переключатель loadFromRemoteSources. Увидеть http://go.microsoft.com/fwlink/?LinkId=155569 для получения дополнительной информации.

Это кажется проблемой только на некоторых ПК

Вот код:

strDLLs = Directory.GetFileSystemEntries(strPath, "*.dll")
For intIndex = 0 To strDLLs.Length - 1
    Try
        objDLL = [Assembly].LoadFrom(strDLLs(intIndex))
        ExamineAssembly(objDLL, strInterface, Plugins)

    Catch e As Exception
        ' MsgBox("Error whilst loading Library: " & strDLLs(intIndex) & ". Reported Error was:" & vbCrLf & e.ToString)
    End Try
Next

Ответы [ 3 ]

21 голосов
/ 25 ноября 2011

Хорошо получается, что проблема в том, что файл, возможно, был загружен из Интернета.

Чтобы исправить Правой кнопкой мыши -> Свойства -> Разблокировать

enter image description here

2 голосов
/ 16 марта 2012

Вот как мне удалось заставить его работать, не прибегая к щелчкам на стороне клиента:

var appDomain = AppDomain.CreateDomain(assemblyName);
var assembly = appDomain.Load(File.ReadAllBytes(assemblyName));

Имейте в виду, что если вы создадите параметр CreateDomain with Evidence, вы получите «Этот метод используетПолитика CAS, которая устарела .NET Framework. 'сообщение.

Кроме того, вы можете настроить подходящую песочницу:

http://msdn.microsoft.com/en-us/library/bb763046.aspx http://blogs.msdn.com/b/shawnfa/archive/2005/08/08/449050.aspx

1 голос
/ 25 апреля 2012

При использовании Jon, у меня была эта проблема, но с множеством сборок в разных папках.Я скачал потоки с Sysinternals, чтобы массово разблокировать файлы.Я нашел хорошее обсуждение на Super User по этой теме.

Потоки от Sysinternals Обсуждение Super User

...