问题 Visual Studio Web应用程序在Tomcat \ Eclipse \ Java中运行时编辑源代码


在ASP.NET Web站点项目中,我始终能够更改底层的C#代码,只需在浏览器中刷新页面,我的更改就会立即生效。

在使用Java和Eclipse时,我可以做同样的事情 - 编辑我的Java源代码并刷新页面,我的更改就在那里。

我不能在ASP.NET MVC中这样做,这是一个真正的下降 - 我必须停止正在运行的进程并进行更改,然后重新启动调试。这是浪费大量时间。

我做错了吗? ASP.NET MVC开发的最佳方法是什么?


11656
2018-02-19 02:46


起源



答案:


Visual Studio将源代码锁定在调试模式下。所以你的选择是:

  1. 在本地IIS上发布站点并使用“附加到进程”。
  2. 使用Run without Debug(Ctrl-F5)而不是“attach to proccess”。
  3. 在调试模式下使用Breakpoint中断执行。

第一个是我最喜欢的。


4
2018-03-11 20:48



您也可以“暂停”(Ctrl + Alt + Break),进行更改,单击“继续”并刷新页面。 - rdev5


答案:


Visual Studio将源代码锁定在调试模式下。所以你的选择是:

  1. 在本地IIS上发布站点并使用“附加到进程”。
  2. 使用Run without Debug(Ctrl-F5)而不是“attach to proccess”。
  3. 在调试模式下使用Breakpoint中断执行。

第一个是我最喜欢的。


4
2018-03-11 20:48



您也可以“暂停”(Ctrl + Alt + Break),进行更改,单击“继续”并刷新页面。 - rdev5


我很少在ASP.NET MVC项目中使用调试模式(F5)。我用一次运行项目 CTRL + F5 并始终打开浏览器窗口。然后,如果我对视图(.aspx,.ascx)进行更改,我会点击 F5 在浏览器中,更改自动生效。如果我必须对.NET代码(控制器逻辑,模型,存储库等)进行更改,我不再使用浏览器。要验证我的更改是否正确,请导航到相应的单元测试并点击 CTRL + R + T。结果显示为绿色或红色。


5
2018-03-11 20:52



这是MVC的巨大优势之一。为什么在构建时启动调试器,您的测试应涵盖大部分逻辑。与webforms MVP相同。节省一点时间并开始编写好的测试。 - Chad Ruppert


你不必停止这个过程,你可以打破。

尝试打破项目,然后编辑,然后继续。

1)CTRL-ALT-BREAK 2)编辑你的代码 3)F5


2
2018-03-10 19:49





我的技术是正常启动它然后从浏览器复制URL并打开网站的另一个窗口然后杀死原始。一旦你杀死了原始浏览器,VS就会让你的源代码消失,但是你仍然可以在另一个窗口中将它存储起来,并且可以正常导航它。现在您可以编辑代码然后刷新浏览器,它就像以前一样工作。

通常首先启动它的唯一原因是因为VS在启动内置IIS时似乎会针对localhost选择一个随机端口号。但即使这很少改变

我的URL通常看起来像这样:

HTTP://本地主机:49434 / something.apsx

端口号有时会改变,但只要你不关闭visual studio,它似乎保持不变。一旦你杀了VS你的URL就会失败。


1
2018-02-16 01:51





使用快捷键(CTRL + F5)运行MVC项目,现在您对C#代码所做的任何更改将在刷新后反映在浏览器中(F5)


1
2018-04-21 20:18





最快的代码编写方式是在IIS上本地托管,然后您需要做的就是在检查更改之前构建解决方案。

另一种方法是将所有内容放入App_Code文件夹中,该文件夹将在您进行更改时动态编译。


-1
2018-02-19 05:14



这在技术上是不正确的吗? - jfar