Visual Studio 2017开启Edit and Continue时能否运行中编辑代码并手动应用?
解决方案:手动触发代码热重载
嘿,这个需求完全可以实现!新版Visual Studio其实继承了旧版的手动应用代码修改的能力,只是现在它被整合到了**热重载(Hot Reload)**功能里,我来一步步教你设置和操作:
1. 调整热重载的触发方式
- 打开Visual Studio的选项窗口:点击菜单栏的
Tools > Options,或者用快捷键Ctrl+Q搜索“Options”快速打开。 - 导航到
Debugging > .NET/C++ Hot Reload(根据你的项目类型选择对应的标签)。 - 找到“Apply changes automatically on save”选项,取消勾选它。这样修改代码后就不会自动应用,而是等待你手动触发。
2. 手动应用代码修改的操作
当你的程序处于调试运行状态(不管是在断点暂停还是持续运行中),你可以:
- 修改代码(现在不会因为Edit and Continue的限制而被锁定了,只要你的项目支持热重载)。
- 完成修改后,点击调试工具栏上的**“Apply Code Changes”按钮**(图标是带箭头的文档样式,也可以用快捷键
Ctrl+Shift+F10)。 - 等待Visual Studio重新编译并应用修改,之后程序会继续运行,你的代码变更就生效了。
额外说明
如果你的项目是旧版.NET Framework类型,可能需要确保Edit and Continue功能是开启的(在Debugging > General里勾选“Enable Edit and Continue”),然后同样可以用Ctrl+Shift+F10手动应用修改——这个快捷键和旧版VS完全一致,是不是很熟悉?
另外,如果遇到代码无法修改的情况,先检查你的项目是否支持热重载/Edit and Continue:比如某些特殊项目类型(如ASP.NET Web Forms的部分场景)或启用了高级编译选项(如关闭增量编译)可能会限制这个功能,这时候可以尝试重启调试会话再试。
内容的提问来源于stack exchange,提问作者baddie
相关产品推荐
相关产品推荐

