尽管在我的ASP.NET MVC 2项目的Web选项卡上检查了启用编辑和继续,但实际上我在运行时无法更改源代码。例如,如果我尝试在调试器中暂停时编辑控制器,则无法更改文件(就像仅读取一样)。

我找到了一个相关的帖子 编辑并继续在ASP.NET Web项目中, , 然而

  • 答案似乎暗示我应该至少编辑代码,然后重新加载页面以查看结果。
  • 我不知道Web应用程序和网站项目之间的区别是什么
有帮助吗?

解决方案

区别在于,在执行时动态编译网站时需要编译Web应用程序(甚至背后的代码)。

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

为了加快事情,我会建议您以下内容:

  1. 在使用视图和部分(即做一些设计工作)时,请运行该应用程序 CTRL+F5 代替 F5 它将仅以正常模式启动应用程序,然后在您刷新浏览器时自动拾取您的更改
  2. 与之合作时 背后的代码 您应该进行相应的单元测试,以便您快速检查行为。在这种情况下,在调试模式下运行可能会更有用,因为您可能需要检查值。

其他提示

使用MVC,您无法编辑并继续。但是,如果您通过iisexpress运行该项目,那么如果不以调试模式运行项目,则可以编辑CodeBehind,而是重建项目。然后刷新浏览器中的页面将工作。

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

我认为我们应该受到足够的纪律,以编写反映预期结果,编写代码然后实时测试的测试。

话虽如此,但我解决的方式就是在浏览器中启动应用程序,然后进行浏览器运行,进行更改,编译,然后刷新浏览器。

当然,我没有踏入代码的好处,但是我可以随时连接到工作过程。

升级到VS2012。这确实支持编辑并继续用于ASP.NET Projects(从“项目属性”窗口中的“ Web”选项卡)。尽管默认情况下似乎没有启用它!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top