Я получаю эту ошибку в Visual Studio 2008 при разработке проекта веб-приложения ASP.NET.
Невозможно загрузить указанную библиотеку
'Path-to-DotNetNuke \ bin \ file.dll':
процесс не может получить доступ к файлу, потому что
он используется другим процессом.
Это проект DotNetNuke с несколькими модулями. IIS загружает все сборки из папки / bin в корне приложения.
Проекты в решении находятся в соответствующих папках / DesktopModules / ProjectName и компилируются в папку bin в рамках проекта.
Ошибка возникает после того, как я скомпилирую решение и скопирую все библиотеки проектов в / bin со скриптом. Visual Studio не позволяет мне перекомпилировать, но если я перезапущу его, все работает нормально Это действительно раздражает при перекомпиляции и тестировании всего решения. Вы должны перезапускать Visual Studio между каждой перекомпиляцией.
Не удалось найти блокировку файлов в Process Explorer, когда Visual Studio показывает эту ошибку.
[ОБНОВЛЕНИЕ] Существует старый документ MSDN , в котором говорится, что не следует собирать все библиотеки DLL в одну папку, если вы ссылаетесь на библиотеку DLL размером более 64 КБ. В частности, в документе говорится:
Это вызывает сбой процесса сборки
с ошибками блокировки файла, когда
ссылка на сборку превышает 64 КБ в
размер.
У нас есть ссылки на библиотеки DLL размером более 64 КБ в папке / bin, и копирование перекомпилированных библиотек DLL, по-видимому, вызывает это, по крайней мере, с помощью фонового компилятора VB IDE.