Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Edit and Continue in ASP.NET MVC 3 application

Is it possible to Edit and Continue in ASP.NET MVC 3 app using Visual Studio 2010? If so, how can I do that?

btw, my OS platform is x86.

Edit: when I hit f5 and then try to edit the code I receive the following error: Changes are not allowed while code is running or if the option 'Break all processes when one process breaks' is disabled. The option can be enabled in Tools, Options, Debugging.

Even though the option is enabled I cannot edit my code when code is running.

like image 557
Shaokan Avatar asked May 29 '11 15:05

Shaokan


2 Answers

After a lot of messing about, googling, and (essentially) guess work, (I am actually running x64 environment) I found that the following enabled MVC 3 edit and continue for me Great !

  1. Setting all the projects to x86 in configuration manager
  2. Setting my WebApp project output path to "bin" in the properties window
  3. Setting my WebApp project to use Visual Studio Development Server (project properties > Web tab)
  4. following the 2 simple instructions from Pro ASP.NET MVC 3 Framework, Third Edition

Now I can set a break point, then hit F5, then when the break point hits - I can change my code (e.g. in controllers or class library projects referenced by the MVC web app), and continue debugging (F5 again) and the changes are picked up, and everything seems to be as it should !

like image 59
MemeDeveloper Avatar answered Oct 10 '22 22:10

MemeDeveloper


Further to this, you'll find that Edit and Continue will not work on certain methods -- those with dynamically-typed variables and those with lambda expressions. You'll probably have a lot of lambda if you're using LINQ to (anything) to retrieve data from repositories, and of course ViewBag is a common dynamic in MVC applications.

So, Edit and Continue and MVC mix poorly. Which is all right, really, because it gets you into the habit of test-driven development -- write good tests, code to pass the tests, and only then build and run.

like image 44
Graham Charles Avatar answered Oct 10 '22 22:10

Graham Charles