Не удалось скопировать obj debug windows forms


Рейтинг 4.98/222:

0 / 0 / 0

Регистрация: 05.01.2017

Сообщений: 2

Ошибки при отладке: не удалось скопировать файл

18.01.2018, 19:28. Показов 42752. Ответов 9


Добрый день. Я начал изучать C#, раньше программировал на Javascript, основы программирования я знаю.
Но у меня проблема с самой IDE — Microsoft Visual Studio 2017 мне часто выдает ошибки, когда я пытаюсь задебажить консольное приложение.
Как мне правильно настроить, пофиксить все это с этой IDE?

Вот ошибки:

не удалось скопировать «obj\Debug\ConsoleApp2.exe» в «bin\Debug\ConsoleApp2.exe». Повторная попытка 3 начнется через 1000*мс. Процесс не может получить доступ к файлу «bin\Debug\ConsoleApp2.exe», так как этот файл используется другим процессом. «System (4)» блокирует этот файл ConsoleApp2

не удалось скопировать «obj\Debug\ConsoleApp2.exe» в «bin\Debug\ConsoleApp2.exe». Превышено допустимое число повторных попыток (10). Произошел сбой. «System (4)» блокирует этот файл ConsoleApp2

не удалось скопировать файл «obj\Debug\ConsoleApp2.exe» в «bin\Debug\ConsoleApp2.exe». Процесс не может получить доступ к файлу «bin\Debug\ConsoleApp2.exe», так как этот файл используется другим процессом. ConsoleApp2



0



6521 / 4097 / 1606

Регистрация: 09.05.2015

Сообщений: 9,561

18.01.2018, 19:40

Нужно прибить запущенный процесс ConsoleApp2.exe в диспетчере задач. Если это сделать не удастся, есть подозрение что ваш кривой антивирус блокирует файл.



0



12320 / 7311 / 1618

Регистрация: 25.05.2015

Сообщений: 22,089

Записей в блоге: 14

18.01.2018, 19:40

При

отладке

или дебаге. Предпочтительно первое.

Сообщение от borseno

так как этот файл используется другим процессом

Или прогу не закрыли, а пытаетесь пересобрать.
Или антивирус докопался.
Или компонент из программы используется дизайнером окон, но это для Windows Forms.



0



0 / 0 / 0

Регистрация: 05.01.2017

Сообщений: 2

19.01.2018, 20:07

 [ТС]

Я удалил антивирус аваст, который у меня постоянно проверял консоль, которая запускалась при отладке. Я его удалил нафиг. Но все равно те же ошибки остались.



0



Заблокирован

06.12.2020, 09:41

Я не уверен, что тема ещё актуальна, но я это исправил… С одним только «но». А сейчас подробно:

1)Я отключил антивирус (не знаю, играет ли это роль, но я это сделал)
2)Закрыл окно VisualStudio с некорректно работающим проектом (в твоем случае это ConsoleApp2)
3)Перешёл в папку с проектом, там открыл bin/debug (в моём случае это D:/VisualStudio/TestWF/bin/debug), и удалил оттуда абсолютно всё. Если он пишет, что файл открыт в другой программе, надо зайти в диспетчер задач и найти там ConsoleApp2.exe, и завершить его
4)Снова открыть свой проект в VisualStudio и он нормально запустится

А теперь к «но»: Это надо делать каждый раз после запуска проекта (т.е. запустил проект, протестил, закрыл, и потом если запустить его ещё раз, он выдаст эту ошибку. Повторение п.п. 1-4 всё исправляет, но только на один запуск. Как исправить это — не знаю…



0



Администратор

17930 / 14020 / 5351

Регистрация: 17.03.2014

Сообщений: 28,687

Записей в блоге: 1

06.12.2020, 09:53

PochtiDeveloper, нужно исправить код приложения. Оно очевидно не завершается корректно, продолжая висеть в памяти — отсюда ошибка которую выдает VS.

Сообщение от PochtiDeveloper

1)Я отключил антивирус (не знаю, играет ли это роль, но я это сделал)

В данном случае антирвирус скорее всего ни при чем.



1



Заблокирован

06.12.2020, 14:39

Я тоже так предположил, но не знаю, как?



0



Администратор

17930 / 14020 / 5351

Регистрация: 17.03.2014

Сообщений: 28,687

Записей в блоге: 1

06.12.2020, 14:57

PochtiDeveloper, читаем код приложения, думаем, исправляем, PROIFT!



0



0 / 0 / 0

Регистрация: 29.07.2023

Сообщений: 1

29.07.2023, 23:32

Для таких же дебилов как я, поясняю за VS Code. Там все гораздо проще, если вылезают такие сообщения возможно у вас открыто два+ окна консоли и на одном из них проигрывается код, тем временем вы сохранили (ctrl + s) код и пытаетесь заранить его в другом окне, после чего и вылезает эта ошибка, т.к. на одном из открытых окон терминал проигрывает ваш еще старый код.



0



137 / 124 / 26

Регистрация: 02.07.2013

Сообщений: 893

31.07.2023, 12:37

а приложение многопоточное? создаются ли там треды?

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



0



raxper

Эксперт

30234 / 6612 / 1498

Регистрация: 28.12.2010

Сообщений: 21,154

Блог

31.07.2023, 12:37

10

Новые блоги и статьи

Все статьи  

Все блоги / 

Как использовать OAuth2 со Spring Security в Java

Javaican 14.05.2025

Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .

Анализ текста на Python с NLTK и Spacy

AI_Generated 14.05.2025

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

Реализация DI в PHP

Jason-Webb 13.05.2025

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

Обработка изображений в реальном времени на C# с OpenCV

stackOverflow 13.05.2025

Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .

POCO, ACE, Loki и другие продвинутые C++ библиотеки

NullReferenced 13.05.2025

В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .

Паттерны проектирования GoF на C#

UnmanagedCoder 13.05.2025

Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .

Создаем CLI приложение на Python с Prompt Toolkit

py-thonny 13.05.2025

Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .

Конвейеры ETL с Apache Airflow и Python

AI_Generated 13.05.2025

ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .

Выполнение асинхронных задач в Python с asyncio

py-thonny 12.05.2025

Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .

Работа с gRPC сервисами на C#

UnmanagedCoder 12.05.2025

gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .

Наверх

Update: A sample project reproducing this bug can be found here at Microsoft Connect. I have also tested and verified that the solution given in the accepted answer below works on that sample project. If this solution doesn’t work for you, you are probably having a different issue (which belongs in a separate question).


This is a question asked before, both here on Stack Overflow and other places, but none of the suggestions I’ve found this far has helped me, so I just have to try asking a new question.

Scenario: I have a simple Windows Forms application (C#, .NET 4.0, Visual Studio 2010). It has a couple of base forms that most other forms inherit from, it uses Entity Framework (and POCO classes) for database access. Nothing fancy, no multi-threading or anything.

Problem: All was fine for a while. Then, all out of the blue, Visual Studio failed to build when I was about to launch the application. I got the warning «Unable to delete file ‘…bin\Debug\[ProjectName].exe’. Access to the path ‘…bin\Debug\[ProjectName].exe’ is denied.» and the error «Unable to copy file ‘obj\x86\Debug\[ProjectName].exe’ to ‘bin\Debug\[ProjectName].exe’. The process cannot access the file ‘bin\Debug\[ProjectName].exe’ because it is being used by another process.» (I get both the warning and the error when running Rebuild, but only the error when running Build — don’t think that is relevant?)

I understand perfectly fine what the warning and error message says: Visual Studio is obviously trying to overwrite the exe-file while it the same time has a lock on it for some reason. However, this doesn’t help me find a solution to the problem… The only thing I’ve found working is to shut down Visual Studio and start it again. Building and launching then works, untill I make a change in some of the forms, then I have the same problem again and have to restart… Quite frustrating!

As I mentioned above, this seems to be a known problem, so there are lots of suggested solutions. I’ll just list what I’ve already tried here, so people know what to skip:

  • Creating a new clean solution and just copy the files from the old solution.
  • Adding the following to the following to the project’s pre-build event:

    if exist "$(TargetPath).locked" del "$(TargetPath).locked"
       if not exist "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"
    
  • Adding the following to the project properties (.csproj file):

    <GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>
    

However, none of them worked for me, so you can probably see why I’m starting to get a bit frustrated. I don’t know where else to look, so I hope somebody has something to give me! Is this a bug in VS, and if so is there a patch? Or has I done something wrong, do I have a circular reference or similar, and if so how could I find out?

Any suggestions are highly appreciated :)

Update: As mentioned in comment below, I’ve also checked using Process Explorer that it actually is Visual Studio that is locking the file.

Ошибка. Не удалось скопировать файл «obj\Debug\[имя проекта].dll», поскольку он не найден. ⇐ C#

  • Похожие темы

    Ответы
    Просмотры
    Последнее сообщение
  • 0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous


  • 0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous


  • 0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous


  • 0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous


  • 0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous


При сборке решения своего проекта wpf довольно часто получаю ошибку:

не удалось скопировать файл «obj\Debug\{ProjectName}.exe» — файл не найден.

Я не первый, кто столкнулся с подобной проблемой. Пробовал много различных советов, таких, как смена версии целевой платформы, обновление .net framework, переустановка visual studio и т.д.
Единственной, что мне помогает, это перезапук visual studio (не каждый раз срабатывает).
А самое удивительное для меня, что всегда помогает изменение AssemblyVersion в файле AssemblyInfo.cs, я просто изменяю цифру в версии с 1.0.0.0 (дефолт) на 2.0.0.0 и решение собирается без ошибок, но через некоторое время ошибка появляется снова и тогда приходится изменять версию снова.

// [assembly: AssemblyVersion(«1.0.*»)]
[assembly: AssemblyVersion(«1.0.0.0»)]
[assembly: AssemblyFileVersion(«1.0.0.0»)]

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

PS: решение небольшое, состоит из одного одностраничного проекта WPF и библиотеки .dll, написанной мной, но вне данного решения, библиотека работает без проблем.
Из сторонних библиотек использую Microsoft.Toolkit.Wpf.UI.Controls для взаимодействия с картой


Ошибка 18 не удалось скопировать файл

От:

Peshuha

Россия

 
Дата:  30.05.12 06:53
Оценка:

Проект состоит из двух частей: Program.exe и набора классов LibraryCore.dll

Периодически (через раз)
вылезает вот такая ошибка

Ошибка    18    не удалось скопировать файл "obj\Debug\LibraryCore.dll" в "bin\Debug\LibraryCore.dll". Процесс не может получить доступ к файлу "bin\Debug\LibraryCore.dll", так как этот файл используется другим процессом.

Из-за этого приходится закрывать проект и загружать его заново. Причем не понятно когда такое сообщение выплывет а когда нет.
Как победить ? Хотя бы куда копать?

Заранее Спасибо, Илья

… Мы не привыкли отступать! И расколоть его поможет киножурнал «Хочу Все Знать»! ;)


Re: Ошибка 18 не удалось скопировать файл

От:

Peshuha

Россия

 
Дата:  30.05.12 06:57
Оценка:

Пардон, Windows XP, Visual Studio 2010, Microsoft Visual Basic 2010

… Мы не привыкли отступать! И расколоть его поможет киножурнал «Хочу Все Знать»! ;)


Re[2]: Ошибка 18 не удалось скопировать файл

От:

Vaako

Украина

 
Дата:  30.05.12 07:02
Оценка:

Здравствуйте, Peshuha, Вы писали:

P>Пардон, Windows XP, Visual Studio 2010, Microsoft Visual Basic 2010

Подождать пару секунд и попробовать скомпилить опять, мнне помогает.


Re: Ошибка 18 не удалось скопировать файл

От:

pugv

Россия

 
Дата:  30.05.12 07:18
Оценка:

Здравствуйте, Peshuha, Вы писали:

P>Проект состоит из двух частей: Program.exe и набора классов LibraryCore.dll


P>Периодически (через раз)

P>вылезает вот такая ошибка
P>

P>Ошибка    18    не удалось скопировать файл "obj\Debug\LibraryCore.dll" в "bin\Debug\LibraryCore.dll". Процесс не может получить доступ к файлу "bin\Debug\LibraryCore.dll", так как этот файл используется другим процессом.
P>

Возможно, у Вас открыта в редакторе форма, на которой лежит контрол из LibraryCore.dll / контрол, использующий классы из LibraryCore.dll.


Re[2]: Ошибка 18 не удалось скопировать файл

От:

Peshuha

Россия

 
Дата:  30.05.12 07:26
Оценка:

Здравствуйте, pugv, Вы писали:
P>Возможно, у Вас открыта в редакторе форма, на которой лежит контрол из LibraryCore.dll / контрол, использующий классы из LibraryCore.dll.

Да нет, спецом пробую — никак

… Мы не привыкли отступать! И расколоть его поможет киножурнал «Хочу Все Знать»! ;)


Re[3]: Ошибка 18 не удалось скопировать файл

От:

Peshuha

Россия

 
Дата:  30.05.12 07:38
Оценка:

Здравствуйте, Vaako, Вы писали:
V>Подождать пару секунд и попробовать скомпилить опять, мнне помогает.

Пробовал, не помогает. В процессах висит не убиваемый процесс Program.vshost.Exe

Итог: вроде прошло! Переименовал имя сборки в св-вах приложения. Переоткрыл. Вроде ок. Видимо что-то слетело в целостности настроек проекта.
Попробуйте, может и у Вас тоже пройдет ! Напишите плз

… Мы не привыкли отступать! И расколоть его поможет киножурнал «Хочу Все Знать»! ;)


Re: Ошибка 18 не удалось скопировать файл

От:

Sharov

Россия

 
Дата:  30.05.12 08:38
Оценка:

Здравствуйте, Peshuha, Вы писали:

P>Периодически (через раз)

P>вылезает вот такая ошибка
P>

P>Ошибка    18    не удалось скопировать файл "obj\Debug\LibraryCore.dll" в "bin\Debug\LibraryCore.dll". Процесс не может получить доступ к файлу "bin\Debug\LibraryCore.dll", так как этот файл используется другим процессом.
P>

У меня такое бывает, когда я пытаюсь пересобрать проект во время отладки… Если даже и при не запущеном приложении появляется
подобное сообщение, то самый надежный способ — перезапустить студию.

Кодом людям нужно помогать!


Re: Ошибка 18 не удалось скопировать файл

От:

Engler

Беларусь

 
Дата:  30.05.12 10:59
Оценка:

Здравствуйте, Peshuha, Вы писали:

P>Как победить ? Хотя бы куда копать?

Сталкивался с таким, же когда было открыто несколько копий студии. Пролема была в удаленном отладчике, который лочил файл (msvsmon.exe). Убиваете, пробуете.

Если не помогает, устанавливаете Process Explorer от sysinternals (замена стандартному списку процессов), далее ctrl+F и вбиваете имя залоченого файла. Смотрите, какой процесс его держит, и решаете на месте что делать.


Re[2]: Ошибка 18 не удалось скопировать файл

От:

Peshuha

Россия

 
Дата:  30.05.12 12:27
Оценка:

Здравствуйте, Engler, Вы писали:
E>Если не помогает, устанавливаете Process Explorer от sysinternals (замена стандартному списку процессов), далее ctrl+F и вбиваете имя залоченого файла. Смотрите, какой процесс его держит, и решаете на месте что делать.

Спасибо Большое, я обязательно так и сделаю если еще раз возникнет. А сейчас ПРОШЛО! Рецепт — см выше мой пост

… Мы не привыкли отступать! И расколоть его поможет киножурнал «Хочу Все Знать»! ;)

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Шпаргалка горячие клавиши windows
  • Пропала кнопка wifi на windows 10 на ноутбуке lenovo
  • Как переустановить directx 12 на windows 10 64 bit
  • Устройство перестало отвечать или было отключено windows 10 как убрать
  • Выключается служба печати windows 10