У меня странная проблема с VS2010. Мы используем TFS для создания наших DLL-библиотек API, и мы использовали для ссылки на них в наших проектах, используя подключенный сетевой диск, которому было полностью доверено. Мы так работаем не менее двух лет, и все работало отлично.
Сегодня я преобразовал веб-приложение в vs2010, и когда я компилирую его в Release, он дает мне:
SGEN: ошибка: не удалось загрузить файл или сборку file: /// L: \ Api \ Release API_20100521.1 \ Release \ CS.API.Exceptions.dll или одну из его зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)
Странно то, что он работает, когда находится в профиле Debug ...
Я попытался добавить
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
в app.config и все равно не повезло (см. http://social.msdn.microsoft.com/Forums/en/msbuild/thread/d12f6301-85bf-4b9e-8e34-a06398a60df0 и http://msdn.microsoft.com/ en-us / library / dd409252 (VS.100) .aspx )
Я почти уверен, что эта проблема связана с Visual Studio или msbuild, так как наш код не запускается из общего сетевого ресурса в prod, потому что все DLL, на которые есть ссылки, копируются в папку bin.
Если у кого-то есть решение (или просто идея пути поиска), дайте мне знать!
Изменить: оказалось, что он работал в режиме отладки, потому что создание сборок сериализации было отключено. Как сказано в названии, это действительно проблема SGEN, поскольку именно эта утилита сообщает, что путь не является надежным ...
У меня была такая же / аналогичная проблема на сервере сборки TFS, где сборка ссылалась на dll из общего сетевого ресурса.
Проблема заключается в том, что модель политики безопасности CLR v4 изменилась по сравнению с предыдущими версиями и не является изолированными сборками, как раньше.
Чтобы устранить проблему, просто найдите sgen.exe и создайте в той же папке файл sgen.exe.config со следующим содержимым:
sgen.exe обычно находится в
Вы можете прочитать о некоторых изменениях политик CAS в .NET 4.0 в этом блоге: Ссылка
источник
Была та же проблема, и изменение конфигурации не помогло. Только когда я отключил Генерацию сборки сериализации в свойствах проекта, это сработало.
источник
У меня была такая же ошибка, и моя DLL была «заблокирована». Откройте DLL в проводнике, щелкните правой кнопкой мыши -> свойства -> нажмите «Разблокировать».
http://cantgrokwontgrok.blogspot.com/2009/10/visual-studio-unknown-build-error.html
источник
У меня была такая же проблема, и я исправил ее, добавив sgen.exe.config в C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools.
с этой простой конфигурацией, как говорили другие
источник
Для тех из вас, кто использует 64-битную версию службы сборки TFS, мне пришлось создать файл конфигурации по следующему пути:
И содержимое файла:
источник
У меня была такая же проблема, загрузил сборку в GAC и работал
источник
В моем случае сработало добавление приведенного ниже фрагмента в файл app.config. Я использую Windows XP с пакетом обновления 1 для VS2010.
источник
Если вы работаете в Windows 7, файл sgen.exe можно найти по адресу:
C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
Мне пришлось создать файл sgen.exe.config и поместить его туда, и эта проблема исчезла.
источник
Ни тот,
unblock
ни тотconfig
у меня не работали. В чем для меня был фокус, так это в этом советеcaspol
. Я побежалИ я был готов к работе, даже перезапуск VisualStudio не требовался.
источник
У меня возникла аналогичная проблема, и я, наконец, решил ее, удалив файл licenses.licx в папке «Свойства» решения.
источник
На всякий случай, как и я, Unblock не был решением, поскольку Unblock не отображается в моих свойствах файла dll. Продолжил поиск и закончил тем, что закрыл свой файл решения и снова открыл его с помощью локальной копии C: вместо сетевого UNC-пути к файлу проекта sln. Смог опубликовать после прохождения этого маршрута.
источник
В моем случае была заблокирована куча dll.
Чтобы разблокировать все файлы в папке, я использовал Power Shell со следующей командой
источник