vivek verma
vivek verma

Reputation: 1766

"Edits were made which cannot be compiled" . zero errors and Enable and edit and continue is checked in vs2010

I am able to edit my code in debug mode but then pop up shows the error that

Edits were made which cannot be compiled. Execution cannot continue until the compile errors are fixed

but error list is empty and i have checked enable edit and continue.

I am using vs2010.

Cleaning and restarting has not solved the problem.

Upvotes: 60

Views: 27552

Answers (11)

ru4ert
ru4ert

Reputation: 1179

In Visual Studio

Debug --> Options --> Debugging --> General --> uncheck Enable Edit and Continue

Upvotes: 17

Arsman Ahmad
Arsman Ahmad

Reputation: 2221

Sorry for a bit late answer but might be it can help out some other technologist. I had faced the same issue in my VS2019 & VS2022 and find 2 solutions.

Solution 01:

i. Tools/Debug => Options => Debugging => General --> Enable Edit and Continue [uncheck it]

ii. Rebuild Code

iii. Tools/Debug => Options => Debugging => General --> Enable Edit and Continue [check it again]

Solution 02:

i. Close your Visual Studio.

ii. Delete the .vs hidden-folder (For safe side, rename it instead to delete)

iii. Reopen your Visual Studio and run the project again.

Hope it'll work!

Upvotes: 0

Franky
Franky

Reputation: 41

There seems to be a regression in Visual Studio 2019 16.9 that affects this features. If you are experiencing this issue check https://developercommunity.visualstudio.com/t/Edits-were-made-to-the-code-which-canno/1370525#T-ND1386337 in order to know when the fix will be available. For Enterprise/Professional versions, a downgrade to 16.8 would be advised. Hope this helps people experiencing this bug (like myself) since this is the first SO post that comes out in searches.

Upvotes: 4

Ted
Ted

Reputation: 20184

There is another possible culprit:

It may be a problem with one of the projects that are included in the solution.

I had the exact same problem, as did a co-worker of mine, and the culprit was one of the projects in our .sln file; a WinForms application that was also started in connection with several other projects in the same solution file.

The remedy was simple:

Remove the WinForms project from the solution, and start a separate Visual Studio instance, where the WinForm project was separated from the rest. And then it worked. I think there is some file edited when the WinForms application was run, that changed the code, for some reason.

Upvotes: 1

Willster419
Willster419

Reputation: 122

I had this problem as well in a c# project. It turns out it was because I had recently enabled the "Enable native code debugging" option.

Turning it off restored the functionality.

Upvotes: 4

veuncent
veuncent

Reputation: 1733

Potentially this is caused by Visual Studio's Edit & Continue feature.
A workaround is to disable this feature:

Debug --> Options --> Debugging --> General --> uncheck Enable Edit and Continue

Solution taken from here.

Also answered here.

Upvotes: 5

Bob
Bob

Reputation: 1

This type of error message could occur in three categories as I know so far:

  1. Visual Studio setting, like you have to set Visual Studio IDE environment properly
  2. Source control related
  3. Your method of code does have an interop related API that doesn't like to be edited in the debugging mode

Most people could fix their problem by going through #1. To make sure if your Studio setting is right, simply run a new and very small solution, and edit it in debugging mode. If that gives you the same error message, then your problem is with Bill Gates:), go fixing the configurations. If no error, shift focus to your own code.

Try to edit in debugging mode in a separate method in your solution. This error could be method dependent if the critical part is not in the global area. After narrowing down the problem to a method, well, you are close to a good luck. Commenting out most or all contents in the method, and gradually un-comment the lines. You will eventually ping down to the point where the problem gets triggered.

In my case, it is the Excel file application that caused the problem. The solution: I created the objects of Excel app, workbook, and worksheet as global variables, and open and defined them in one of my main method. Somehow, after doing so, Bill Gates doesn't like to me fool around the method any more in debugging mode. My trick to go around Bill is to write the workbook opening and worksheet definition in a small separate method, and just call that it from the original method. After that, I can happily edit any part in the big method during debugging run time! Still, I cannot do that in that small method that just contains the workbook and worksheet handling. Well, that is Bill's comfortable work place:) I don't need to.

Upvotes: -1

wecky
wecky

Reputation: 910

I had the same problem (VS2017), for me it was enough to menu item Build and click Clean Solution Then Rebuild Solution and everything worked fine again.

Upvotes: 6

Jack Miller
Jack Miller

Reputation: 7707

This problem can occur when your workspace broke. Just close Visual Studio, delete (or better first just rename) the .vs folder and start Visual Studio again.

It can even happen with VS2017.

Upvotes: 41

alelom
alelom

Reputation: 3026

I am using Visual Studio 2017 Community updated as to date.

After hours spent trying all the solutions posted in this thread highlighted by Hao Nguyen in the comments above, the only solution that worked was to remove the Workspace and Map&Get again.

To remove the Workspace, FileSource controlAdvancedWorkspaceRemove.

Upvotes: 0

Billy Willoughby
Billy Willoughby

Reputation: 856

I've had this problem with Visual Studio 2008, 2010, and 2013. I wrote a batch file I keep in the solution folder for each of my projects when this problem crops up. Expanding on what Vijay said, this cleans out the bin and obj folders. Sometimes Visual Studio will have the folders locked and I have to close it, but after I clear these out the problem goes away... for a while. I'm not sure of the underlying cause, I believe the binaries and the code in memory is somehow getting out of sync. But this allows a quick close, clean, open solution.

@echo off
cls
dir bin /s /AD /b > clean.tmp
dir obj /s /AD /b >> clean.tmp
for /F  "tokens=*" %%A in (clean.tmp) do echo rmdir /S /Q "%%A" 
echo This command will remove ALL BIN and OBJ folders in this tree.
echo To run the commands as listed ...
pause
for /F  "tokens=*" %%A in (clean.tmp) do rmdir /S /Q "%%A" 
del clean.tmp
pause

Upvotes: 4

Related Questions