【问题标题】:VB.Net editor removes one line of code every time debug is startedVB.Net 编辑器在每次启动调试时删除一行代码
【发布时间】:2017-01-13 04:36:39
【问题描述】:

我正在使用 Visual Studio 2015 社区版,我的问题是 - 每次单击调试时,都会将一行代码从正在编辑的当前文件移到上一行的右侧。我的一些同事也看到了这种行为。 C# 工作正常。它只发生在所有文件类型的 VB.NET 中:web.config、.vb、.aspx。这会导致问题,因为在编译项目后删除了该行,因此调试器永远无法命中断点,因为它说源代码与编译前的原始代码不同。

调试点击前

调试点击后

【问题讨论】:

  • 不会是启用了代码优化吗?就像声明一个从未使用过的变量(用于调试)和优化器一样?我从未在 c# 中见过它,但我知道在代码优化开启时调试时未达到其中一些行。
  • 你能分享那行代码吗?您是否使用任何代码清理、格式化实用程序以及保存时自动格式化/清理等?
  • 嗨,谢谢你的帮助,Mathew,具体不是一行,带有编辑光标的行是被删除的行,我使用的是 Resharper 的最新版本。
  • 谢谢 Piou 我要去检查代码优化并告诉你。
  • 这应该是件好事。如果您调试足够多的时间,就不会留下任何代码,并且调试将非常容易。 :-) 说真的,如果你不能提供可以让我们重现问题的东西,你会指望任何人提供帮助吗?

标签: vb.net visual-studio-debugging visual-studio-community


【解决方案1】:

如果它在安全模式下运行良好,则可能与您VS中的扩展工具/插件有关,正如您所说的您安装了某些扩展工具,例如Resharper或其他,您可以将它们一一禁用/删除在 TOOLS->Extensions and Updates 下,所以它可以帮助我们缩小这个问题的范围:)

【讨论】:

    【解决方案2】:

    您的问题与here 描述的问题非常相似,因此请尝试解决方法:

    在我的情况下,链接中断问题只有在你有 DevExpress 组件和 Licences.licx 文件存在于你 项目。在预构建事件修复中清空 licences.licx 文件 问题和 resharper 不再删除换行符。

    【讨论】:

    • 感谢 Alexander 的帮助,确实是 devexpress 补丁导致 licenses.licx 文件出现问题,我添加了预构建事件,一切正常。
    猜你喜欢
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    相关资源
    最近更新 更多