【问题标题】:Code Changes While Debugging Not Taking Effect (Visual Studio 2017)调试不生效时的代码更改 (Visual Studio 2017)
【发布时间】:2020-07-21 03:42:17
【问题描述】:

我在 Visual Studio 中逐步执行我的 C# 程序,尝试测试生成的 HTML 字符串在进行一些修改后的外观。在我暂停调试器后,修改我的代码,然后继续,更改不会生效。我逐步完成了整个方法,当我查看生成的 HTML 字符串时,它与我修改它之前的相同。更改只有在我停止运行程序并再次运行时才会生效,这非常繁琐。

它是否以某种方式缓存?

【问题讨论】:

  • 禁用导航器缓存或使用Ctrl-F5强制缓存在浏览器上刷新
  • 我不确定这对我有帮助,并不是我想在没有缓存的情况下刷新,我正在做的是,我在生成 html 到之前将箭头向后拖动我生成它,改变它的生成方式,但是当我再次跨步时,它是旧的
  • 您是否尝试过 Stack Overflow 帖子中列出的解决方案之一? stackoverflow.com/questions/18266972/…
  • 您的项目是从旧的 VS 版本创建的吗?
  • 嗯,它有时仍然不起作用,我已经尝试过这个线程中的响应。

标签: c# debugging visual-studio-2017 step-through


【解决方案1】:

调试不生效时代码更改 (Visual Studio 2017)

其实,要使用那个功能,每次把光标放回改变的部分,然后越过光标,就会生效。

所以请尝试以下建议:

建议

1)确保在Tools-->Options-->Debugging-->General下检查这些设置@

取消选中Tools下的Require source files to exactly match the original version-->Options-->Debugging-->General

勾选Managed并取消勾选Tools下的Native-->Options-->Debugging-->Just In Time

2)关闭VS实例,删除.vs隐藏文件夹,bin,obj文件夹,然后重新启动你的项目。

3) 如果移植现有项目,则应将EmbedInteropTypes 指定为false

将其添加到xxxx.csproj 文件中。

  <PropertyGroup>
 <EmbedInteropTypes>false</EmbedInteropTypes>
  </PropertyGroup>

4)禁用Extensions-->Manage Extension下的任何第三方扩展

5)确保您使用调试模式

如果你的项目是旧VS版本创建的,尝试在VS2017中新建一个项目,然后将旧项目的内容迁移到新项目中进行测试。 (不确定项目是不是旧VS版本创建的)

注意,在不同版本的vs中,可能会有一些不同,如果是老项目,在VS2017中这个功能可能会有些问题。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 2015-10-09
    • 2021-09-19
    • 2018-07-03
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多