Ошибка 1 Не удается скопировать файл при компиляции - PullRequest
1 голос
/ 22 июля 2011

Когда я пытаюсь скомпилировать свой проект, я получаю эту ошибку

Ошибка 1 Невозможно скопировать файл "obj \ Debug \ oneForce.pdb" в "bin \ Debug \ oneForce.pdb".Доступ к пути 'obj \ Debug \ oneForce.pdb' запрещен.oneForce

Кто-нибудь может мне помочь, как исправить это?

Ответы [ 6 ]

2 голосов
/ 22 июля 2011

Возможно, что-то еще имеет открытый файл obj \ Debug \ oneForce.pdb. У вас есть проект, открытый в нескольких копиях Visual Studio?

В противном случае выясните, в каком файле открыт файл. См. этот вопрос суперпользователя , как это сделать.

1 голос
/ 22 июля 2011

Спасибо всем, кто внес

в папку obj проекта, я переименовал папку отладки, причина в том, что я пытался удалить ее, но Windows не дает мне сказать, чтопапка не пустая.Поэтому я подозреваю, что файл поврежден и просто переименован в папку.

, что решило проблему

спасибо всем.

1 голос
/ 22 июля 2011

Visual Studio пытается изменить автоматически сгенерированный файл PDB (содержащий отладочную информацию), находящийся в папке Debug вашего проекта, но что-то мешает ему сделать это.

Убедитесь, что у вас есть полныйзапишите права доступа в папку, в которой сохранен ваш проект, и что файл PDB не используется отладчиком (например, другим экземпляром Visual Studio).

В сообщении об ошибке указывается путь относительно вашего проекта./ каталог решения, в котором находится файл;вот где вы должны проверить, чтобы убедиться, что у вас есть права на чтение / запись:

<SolutionDir>\bin\Debug\oneForce.pdb

И вы можете использовать такое приложение, как Sysinternals ' Process Explorer , чтобы проверить и посмотреть, что другие приложения могутоткройте этот файл.

Наконец, если ничего не помогает, попробуйте закрыть Visual Studio и перезапустить его.Это обычно исправляет любые проблемы, когда файловые дескрипторы остаются открытыми, когда они должны были быть закрыты.

1 голос
/ 22 июля 2011

Убедитесь, что приложение, которое вы компилируете, не запускается при сборке проекта или что сборка DLL (если это DLL) не указана ни в каком запущенном приложении.Вы можете использовать Process Explorer для поиска вашего приложения и, возможно, завершить процесс, который его использует, если его закрытие обычно не работает.

0 голосов
/ 22 июля 2011

Вы можете использовать Process Explorer (из sysinternals), чтобы обнаружить процесс (или приложение), который блокирует файл pdb.

0 голосов
/ 22 июля 2011

Похоже, ваше приложение используется другим процессом.Убедитесь, что он не работает.Откройте диспетчер задач и убедитесь, что его там нет.

Перезапуск VS или машины должен помочь, но вам нужно выяснить, что держит ваш pdb.Может быть анализатор производительности или DotTrace.

...