codegeekalpha Ответов: 6

Невозможно скопировать файл "obj\Debug\banksys.exe чтобы ;bin\Debug\banksys.exe;.


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

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

Ошибка 1 не удается скопировать файл "obj\Debug\banksys.exe чтобы ;bin\Debug\banksys.exe;. Процесс не может получить доступ к файлу 'bin\Debug\banksys.exe-потому что его использует другой процесс. banksys


6 Ответов

Рейтинг:
36

Henry Minute

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

***** ПРЕДУПРЕЖДЕНИЕ *****
ВЫ ДЕЛАЕТЕ ЭТО НА СВОЙ СТРАХ И РИСК.

1. Закройте все остальные приложения, кроме VS.
2. Запустите Диспетчер Задач.
3. На вкладке "приложения" посмотрите, есть ли там ваше приложение, и если да, выберите его, а затем нажмите кнопку "завершить задачу".
4. перейдите на вкладку "Процессы". Ищите все экземпляры yourappname.vshost.exe, выберите их и нажмите кнопку "Завершить процесс". Их может быть несколько, поэтому проверьте весь список.

Это избавляет меня от необходимости перезагружаться 99/100 раз на Win XP. Я понятия не имею, работает ли он на других ОС.


ThrishikRam

это решение работало для меня с ОС windows 7.. большое спасибо

Баран

Member 13793890

большой ответ

Рейтинг:
2

Arindam Tewary

Привет,

Похоже, что в то время, когда вы пытаетесь скопировать исполняемый файл, вы все еще используете его("banksys.exe" из папки "\bin\Debug\") и поэтому система не может заменить то же самое banksys.exe.

Прежде чем вы выполните действие, которое пытается заменить exectable, вы должны закрыть exectable, чтобы избежать этой ошибки.

NB: в случае,если у вашего исполняемого файла нет пользовательского интерфейса, поэтому вы не сможете закрыть исполняемый файл, вы можете проверить это, по крайней мере, открыв Диспетчер задач, а затем в момент ошибки должны получить запись "banksys.exe". Теперь, если вы щелкните правой кнопкой мыши на процессе с именем "banksys.exe" и выберите пункт "Завершить дерево процессов", чтобы иметь возможность продолжить работу без ошибок.

Надеюсь, это поможет,


codegeekalpha

это означает, что каждый раз, когда я должен идти в Диспетчер задач, чтобы завершить задачу из процессов.. iss dere любой другой способ сделать это..

Sergey Alexandrovich Kryukov

Нет, вы должны исправить какую-то ошибку, я почти уверен. Все должно быть прекращено автоматически.

Ариндам, видите ли, вы, Анвер, не даете полного объяснения.

--СА

Рейтинг:
1

Sergey Alexandrovich Kryukov

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

То, что вы видите, означает только одно: у вас есть ошибка, и довольно тонкая. Так или иначе, автоматическое завершение вашего приложения не останавливает что-то еще. Это происходит, но очень редко и обычно связано с загружаемым вами сторонним исполняемым модулем (скорее всего, неуправляемым), который вы не строите в своем решении. У вас есть что-нибудь подобное? У меня недостаточно информации, чтобы сказать больше, но у вас есть общее представление.

—СА


codegeekalpha

я сделал симулятор банкомата ... в котором у меня есть потерянные формы.
я думаю, что указываю новые формы frm основной formm.. и есть проблема..может быть, какая-то форма остается открытой.. и это вызывает его

Sergey Alexandrovich Kryukov

Видите ли, вы не делитесь своим кодом или какими-либо здравыми идеями о том, что может быть необычным. Более того, вы упомянули о необходимости убить процесс, но не поделились никакой информацией о том, что вы убиваете. Вы не даете достаточно пищи для размышлений. Все, что я знаю, это то, что такие вещи случаются довольно редко, и какая-то тонкая проблема может быть причиной.
--СА

Рейтинг:
1

Member 1601822

Из меню перейдите в Build, Configuration Manager, измените конфигурацию активного решения на Release if currently Debug или наоборот, а затем следует построить. Затем можно вернуться в ans reset к предпочтительному варианту.


Member 10266978

Отличный.. Дорогая, это сработало.

Member 10266978

Очень мило

Раджниш

M.R SAMEER BAIG

Спасибо Чуваку, Что Он Сразу Сработал.
Но После Перестройки Project.Exe Та Же Ошибка Возникает И Во Время Отладки...

Member 11804257

это сработало . Спасибо!

Рейтинг:
1

daggerz13

Закройте приложение и удалите папку Obj и bin


надеюсь это помогло


CHill60

Не сработает, если appname.vshost.exe он все еще находится в памяти, что может произойти, даже если VS закрыт.

Рейтинг:
0

OriginalGriff

Вы пытаетесь перезаписать EXE-файл для запущенной программы? Потому что он заблокирован для чтения во время выполнения, что означает отсутствие удаления, переименования и записи.


codegeekalpha

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

OriginalGriff

Попытка закрыть все формы в вашем приложении не завершает ваше приложение: если ваш код находится после того, как все формы закрыты, то ваше приложение все еще работает, пока не достигнет конца основного метода. До тех пор ваш EXE-файл остается неприкосновенным.

В сущности, вы не можете этого сделать.
Почему вы все равно пытаетесь перезаписать свой собственный EXE-файл?

Sergey Alexandrovich Kryukov

По той причине, которую я объясняю в своем ответе, это обычно не должно происходить. Это, конечно, ошибка, но может быть и в стороннем коде.
--СА