2010-05-28 87 views
12

虽然启用编辑和继续选中我的ASP.Net MVC 2项目的Web选项卡上,我实际上不能在运行时更改源代码。例如,如果我试图在调试器中暂停时编辑控制器,则无法更改文件(就好像只读一样)。编辑并继续不起作用VS 2010/ASP.Net MVC 2

我发现了一个相关的职位Edit and continue in ASP.NET web projects,但是

  • 的答案似乎暗示我应该能够至少编辑代码,然后重新加载页面看到的结果。
  • 我不知道的区别是什么一个Web应用程序和网站之间的项目
+0

我已经在SO http://stackoverflow.com/a/18772677/1027198上回答了类似的问题,它工作正常。 – 2013-09-12 19:22:56

回答

18

的区别是,Web应用程序需要执行时,而一个网站动态编译进行编译(连码背后)。

由于ASP.NET MVC在每次进行更改时都使用Web应用程序,因此需要重新编译它并重新编译需要离开调试模式。事实上,您可以在不需要重新编译的情况下修改视图和分支,但对于控制器逻辑,您始终需要重新编译。

为了加快速度,我会建议你以下几点:

  1. 当意见和谐音(即做一些设计的东西)运行与按Ctrl + F5,而不是F5应用工作这将只需在正常模式下启动应用程序,刷新浏览器后将自动提取更改
  2. 当使用后面的代码时,您应该有相应的单元测试,以便您快速检查行为河在这种情况下,以调试模式运行可能会更有用,因为您可能需要检查值。
+0

+1 @Darin,很好的解释。 – griegs 2010-05-28 06:55:39

0

除了@ Darin的回答,我不得不说我不喜欢在运行时更改代码的想法。

我认为我们应该有足够的纪律去写一个能够反映预期结果的测试,编写代码然后进行现场测试。

尽管如此,我解决的方法是在浏览器中启动应用程序,无需运行,进行修改,编译并刷新浏览器。

当然,我没有单步执行代码的好处,但我可以在任何需要的时候附加到工作进程。

1

随着Mvc,你不能编辑和继续。 但是,如果您通过IISExpress运行项目,则无需在调试模式下运行项目,您可以编辑代码隐藏,重建项目。然后刷新浏览器中的页面将工作。

0

升级到VS2012。这确实支持ASP.Net项目的编辑和继续(从项目属性窗口中的Web选项卡)。虽然它似乎并未默认启用!

相关问题