В Visual Studio 2010 сборка не приводит к ошибке копирования файла

Я строю проект в Visual Studio 2010, и сборка завершается неудачно, потому что он не может скопировать файл assemblyname.dll из obj в папку bin. Точное сообщение об ошибке:

Ошибка 7 Не удается скопировать файл "obj\Debug\AssemblyName.dll" в "bin\AssemblyName.dll". Запрошенная операция не может быть выполнена для файла с открытым разделом, отображенным пользователем.

Я думаю, это потому, что предыдущий файл в папке bin недоступен. Когда я пытаюсь удалить файл вручную, я получаю сообщение об ошибке "Действие не может быть завершено, потому что файл открыт в другой программе". Если я пытаюсь увидеть, какое приложение блокирует файл с помощью Unlocker, я не получаю никаких результатов (не найден дескриптор блокировки).

Если я перезапущу Visual Studio, ошибка исчезнет, ​​но произойдет снова после одной или двух сборок. Само собой разумеется, что это серьезно замедляет меня. Любой совет, как начать решать это?

5 ответов

Решение

Такое поведение было связано с недавно установленным расширением Visual Studio, названным достижениями Visual Studio (http://visualstudiogallery.msdn.microsoft.com/bc7a433b-b594-48d4-bba2-a2f24774d02f)

Я заметил, что файл.pdb был заблокирован FxCop (с помощью Unlocker), и я думаю, что расширение Achievements использует его. После отключения расширения у меня больше нет ошибки, упомянутой выше.

VIsual Studio 2012 на Windows 8. Я получал то же сообщение об ошибке в моем проекте. Перезапуск Visual Studio или очистка папки obj вручную не помогли. Наконец я закрыл все открытые файлы (Windows -> Закрыть все документы) и проблема ушла.

Эта ошибка была исправлена ​​в последних версиях расширения (>1.7). Это было выпущено как бета, кстати...

Платформа: Windows 8 Pro, Visual Studio 2012

Я обнаружил, что получаю эту ошибку при доступе к папке в проводнике Windows.

Я создавал документы PDF в Visual Studio 2012. Чтобы просмотреть образец документа, я бы щелкнул правой кнопкой мыши в обозревателе решений и использовал Открыть папку в проводнике.

В Windows 7 я получал бы ошибку SYSTEM.IO, если фактический документ PDF был открыт в Adobe Reader, что ожидается. С Windows 8 я обнаружил, что я получаю вышеуказанную ошибку, если у меня есть открытая папка. Я подозреваю, что есть конфликт с предварительным просмотром Windows 8.

Если я закрываю папку и запускаю программу, она работает нормально.

Такое поведение VS происходит очень часто даже на моем компьютере (и на компьютерах моих коллег).

По моему опыту, это случается чаще, когда:

  • У меня есть форма, открытая в дизайне, когда я компилирую
  • Я прекращаю выполнение приложения, нажимая кнопку "Стоп" в VS вместо выхода из приложения

Таким образом, закрытие формы в проекте перед компиляцией и выход из приложения вместо его остановки несколько смягчает проблему... но это все же происходит:-|

Мой компьютер - Win 7 x64 SP1 с VS 2010 SP1, оперативной памятью 8 ГБ и без файла подкачки

Проверьте, открываете ли вы dll в Visual Studio. Я открываю dll в Visual Studio, и возникает эта ошибка!!

Другие вопросы по тегам