dll не dll: почему приложение не запускается из командной строки?

У меня вечные проблемы с правами на рабочем ноутбуке, все папки закрыты, все действия запрещены, ничего нельзя. Но дело в том, что мне регулярно нужно то, что нельзя.  Например, программисты присылают на тестирование альфа- и бета-сборки дополнительных модулей, которые обычно не завернуты в инсталеры, а приходят в виде DLL.


Первое, что нужно сделать, достав файл из архива, это разблокировать его. Для этого в свойствах файла нужно поставить галку "Разблокировать": 


Кому-то этого будет достаточно, но, как оказалось, не мне. При попытке загрузить приложение командой NETLOAD я получаю следующее сообщение: 

"Не удалось загрузить файл или сборку "file:///C:\Users\.......\имяфайла.dll" либо 
одну из их зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)  Имя файла: 'file:///C:\Users\.......\имяфайла.dll' —-> System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого
 ресурса, что в предыдущих версиях .NET Framework могло привести к помещению
 сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по
 умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не
 предназначена для изоляции сборки, включите переключатель
 loadFromRemoteSources. Дополнительные сведения см. на странице
 http://go.microsoft.com/fwlink/?LinkId=155569" 

"Включите переключатель", говорит нам система. Хоть бы сказала тогда, где он! 

Находим файл acad.exe.config (он в той же папке, где acad.exe), открываем в любом блокноте и добавляем следующее: <loadFromRemoteSources enabled="true"/> в блок <runtime>:


После этого перезагрузим Civil 3D (или AutoCAD) и dll будут загружаться как следует.

Комментарии