ошибка loadFromRemoteSources при использовании сборки.LoadFrom
У меня есть приведенный ниже код в приложении .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 ответов
Ну, оказывается, проблема в том, что файл, возможно, был загружен из интернета.
чтобы исправить щелкните правой кнопкой мыши - > Свойства - > разблокировать
Это, как мне удалось заставить его работать, не прибегая к нажатию на стороне клиента:
var appDomain = AppDomain.CreateDomain(assemblyName);
var assembly = appDomain.Load(File.ReadAllBytes(assemblyName));
имейте в виду, если вы CreateDomain с параметром 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
Piggybacking на Jon, у меня была эта проблема, но с большим количеством сборок во многих разных папках. Я загрузил потоки из Sysinternals, чтобы разблокировать файлы в массовом порядке. Я нашел хорошее обсуждение Super User по этой теме.