Подтвердить что ты не робот

Ошибка при создании отладочной информации - код не будет компилироваться

Я использую VS 2008. Когда я вношу изменения в свой код и пытаюсь скомпилировать, я получаю следующую ошибку:

Ошибка 7 Непредвиденная ошибка при создании файл отладочной информации 'C:\Documents и Настройки \jbezanson\My Документы\MyProjects\DispatchBoard\DispatchBoard\OBJ\Debug\DispatchBoard.PDB" - 'C:\Documents and Settings\ibezanson\My Документы \MyProjects\DispatchBoard\DispatchBoard\OBJ\Debug\DispatchBoard.pdb: Процесс не может получить доступ к файлу потому что он используется другим обработать. 'DispatchBoard

Используя Process Explorer, всегда devenv.exe блокирует файл. Если я запускаю в режиме Release, этого не происходит. Это началось 2 дня назад, когда я начал приложение WPF, и с тех пор это происходит с каждым приложением, над которым я работаю.

Единственная информация, которую я мог найти у Google, касалась ошибки в VS 2003.

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

4b9b3361

Ответ 1

Когда у меня возникают проблемы с заблокированными файлами, я использую Unlocker. (Если вы пробовали все и не работали, попробуйте это;)

В случае неисправной ссылки здесь mirror.

Ответ 2

Если у вас есть несколько экземпляров VS open, закройте другие экземпляры (кроме того, который вы пытаетесь скомпилировать) - это может решить проблему.

Ответ 3

Вы пытались закрыть VS, удалив obj folder, а затем перезапустив VS?

Ответ 4

У меня была такая же проблема сегодня утром, и я заметил, что у меня появился другой проект, который ссылался на тот, который не собирал и не отлаживал. Я удалил ссылку (так как мне это действительно не понадобилось), и все было в порядке.

Ответ 5

Единственное, что сработало для меня, это удалить атрибут optimizeCompilations = "true" из элемента компиляции в моем файле Web.Config.

Время компиляции может быть немного длиннее, но оно хорошо работает.

Ответ 6

Я изменил проект StartUp моего решения на проект без ссылки на файл заблокированного файла. Это решило проблему для меня, используя VS 2010 SP1.

(Process Explorer сказал, что msvsmon.exe(запущен devenv.exe) заблокировал файл pdb. После изменения проекта запуска процессы msvsmon.exe и .vshost.exe исчезли, а также обработчик файла.)

Алекс Кларк, спасибо, что указал мне в правильном направлении.

Ответ 7

Чтобы избежать этой проблемы, просто откройте свойства проекта, перейдите на вкладку "Отладка" и отключите "Включить процесс хостинга Visual Studio"

Ответ 8

У меня была эта проблема сегодня. В моем случае я только что захватил данные из источника управления моей компанией и сразу же попал в эту проблему, когда попытался скомпилировать проект. Проблема закончилась тем, что папка \bin была установлена ​​только для чтения. Чтобы решить проблему, я просто сделал папку не только для чтения.

Ответ 9

Сегодня я столкнулся с одной и той же проблемой. И потом я понял, что пошло не так: у меня одновременно открылось несколько окон Visual Studio, и один из них был в режиме отладки.

Когда я остановил режим отладки в этом, проблема была решена.

Это происходит, когда вы открываете "fistfull of VS windows".

Ответ 10

Щелкните правой кнопкой мыши папку, содержащую debug.pdb, и снимите флажки в свойствах только для чтения папок, затем хорошо. это он.

Ответ 11

Это работает для меня с веб-проектами в Visual Studio Express 2012 для Web:

  • Нажмите F5, чтобы начать отладку
  • "Вы хотите выполнить последнюю успешную сборку?" - нажмите YES
  • На этом этапе вы можете попробовать запрос - не уверены, нужен ли этот шаг
  • Нажмите кнопку остановки
  • Успешно перекомпилировать

Ответ 12

Поскольку вы говорите, что у вас есть это на всех приложениях, над которыми вы работаете, это звучит как более глобальная проблема. Вы можете попробовать и повторно установить vs2008, написав

devenv.exe/setup

Изменить: ссылка на параметры командной строки

Ответ 13

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

if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"

При надлежащих модификациях это может помочь вашей проблеме.

Ответ 14

Это сработало для меня. Я сделал то, что закрыл свою визуальную студию и удалил файл .suo, а затем снова открыл решение. Теперь блокировка должна исчезнуть. Приветствия.

Ответ 15

Старая тема, но что-то, что сработало для меня. У меня было 2 проекта в моем решении, проект типа библиотеки классов и проект формы окон. Проект в форме окон ссылался на скомпилированный двоичный файл, а не на сам проект в моем случае, который вызывал блокировку. После изменения ссылки на проект библиотеки классов он работал правильно.

Ответ 16

Не нужно перезапускать или удалять файл. Выйти не удастся, вы получите сообщение об ошибке. Просто переименуйте файл, и этого достаточно. VS2010 создаст для вас другой файл, так как он не найдет оригинала.:)

Ответ 17

У меня была такая же проблема время от времени. Обычно не проблема, а время от времени... В это конкретное время работать было невозможно. Я бы закрыл приложение, и даже это не работало большую часть времени. Я видел эту запись, и человек сказал, что у них не было проблем, пока они не приступили к приложению WPF. Я играл музыку (радиостанцию) в фоновом режиме с помощью приложения Windows 8 "Музыка". У меня возникла идея, что это приложение Microsoft, созданное с помощью Visual Studio. Когда я перестала играть музыку, я никогда не сталкивался с этой ошибкой. Если вы читаете это, посмотрите, есть ли у вас приложения Microsoft.

Ответ 18

У меня тоже была такая же проблема. Пробовал все предложения выше, не повезло. В конечном итоге я изменяю конфигурацию сборки из Debug для выпуска, построенное решение...

Ответ 19

Эта проблема возникла для меня после перехода с Cassini на IIS Express в качестве платформы для отладки.

Кассини был намного лучше, чем IIS Express, но не поддерживал должным образом интегрированный конвейер. IIS Express безнадежен.

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

В любом случае, ни одно из вышеперечисленных решений не работало для меня. Unlocker, похоже, больше не поддерживается для Windows 8. Поэтому вместо этого я попробовал LockHunter. То, что я делаю, - это держать приложение LockHunter открытым весь день. Если я получаю жалобу о блокировке какого-либо файла, я копирую и вставляю путь к файлу в LockHunter, затем повторите попытку. Обычно это устраняет проблему, но иногда предпринимается несколько попыток.

Ответ 20

Это произошло со мной в sharepoint, когда я отлаживал веб-часть, а затем попытался развернуть решение. Мне пришлось остановить отладку, и она работала нормально.