Как сказал Джонатан, да, переименование может помочь обойти эту проблему. Но, например, Я был вынужден много раз переименовывать целевой исполняемый файл, это утомительно и нехорошо.
Проблема заключается в том, что когда вы запускаете свой проект, а затем получаете ошибку, из-за которой вы не можете создать свой проект - это так, потому что этот исполняемый файл (ваш проект) все еще выполняется (вы можете проверить его через диспетчер задач).
Если вы просто переименуете целевую сборку, через некоторое время вы получите ту же ошибку с новым именем, а если откроете диспетчер задач, то увидите, что вы мусорите систему своими незавершенными проектами.
Visual Studio для создания новой сборки необходимо удалить предыдущий исполняемый файл и создать новый вместо старого, он не может этого сделать, пока исполняемый файл еще запущен. Итак, если вы хотите сделать новую сборку, процесс старого исполняемого файла должен быть закрыт! (Странно, что Visual Studio не закрывает его сам по себе, и да, похоже, что он немного глючит).
Это немного утомительно, если вы делаете это вручную, так что вы можете просто щелкнуть файл bat и просто щелкнуть по нему, когда у вас возникнет такая проблема:
taskkill /f /im name_of_target_executable.exe
у меня это работает по крайней мере.
Как предположение - я не закрываю свою программу должным образом в C ++, поэтому может быть нормально, что Visual Studio поддерживает ее работу.
Сложение:
Есть отличный шанс быть таковым из-за незавершенного применения. В конце проверьте, вызвали ли вы PostQuitMessage, чтобы сообщить Windows, что вы сделали.