为啥 Visual Studio 有时会使用旧代码运行?

Posted

技术标签:

【中文标题】为啥 Visual Studio 有时会使用旧代码运行?【英文标题】:Why does Visual Studio sometimes run using old code?为什么 Visual Studio 有时会使用旧代码运行? 【发布时间】:2021-09-20 00:07:13 【问题描述】:

我在 VS 2019 中有(相当大的)C# 解决方案,使用 ReSharper 运行。几天后 - 我无法确定触发因素 - 发生了以下情况:

我更改代码,添加断点(不是必需的,但可以很好地显示问题),单击“开始”(触发构建和运行)然后应用程序运行,但 使用旧代码 .

构建后断点变为“中断”,速度很快。而且构建日志非常短,没有任何警告,也没有错误。它列出了我进行更改的项目已成功重建或至少已开始构建。

我想我可能有this 问题,但执行的代码是旧的。

这是缓存问题吗?我可以在某处获得更好的日志吗?

this(完全重新安装 VS)是唯一的解决方案吗?

编辑:情况似乎越来越糟,现在我必须手动/显式地重建我的解决方案,然后才能(几乎)每次运行。而且,如果这是任何提示:在尝试解决问题时,我删除了隐藏的 .vs 文件夹(.suo 文件所在的位置) - 它没有被重新创建。不应该吗?

EDIT2:下面 dwcanillas 的链接启发我在我的解决方案文件夹中更深入地搜索任何嵌套的 .vs 文件夹,实际上,我找到了一些——不是针对每个项目,而是针对某些项目。我把它们都删除了,今天看起来更好了。

当前解决方案(另一个 Visual Studio voodoo 配方):

干净的***解决方案 关闭 Visual Studio 删除所有“.vs”文件夹(隐藏,在每个解决方案文件夹中) 打开 Visual Studio 重建***解决方案

观察到的副作用:之前卸载的项目将再次加载。但可能还有更多……

【问题讨论】:

当有本地更改时,您可能需要确保在运行之前没有禁用构建:developercommunity.visualstudio.com/t/… 【参考方案1】:

您可能必须这样做,尽管先尝试重建它,然后再清理解决方案。

【讨论】:

以上是关于为啥 Visual Studio 有时会使用旧代码运行?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 失去了附加到 Unity 的能力,为啥?

Visual Studio 附加到进程调试

为啥此代码会使 Visual Studio 2015 崩溃?

visual studio code终端输出为啥会乱码

为啥这样的 penAL 代码在 Visual Studio 2008 中会出现这样的错误?

Visual Studio 代码编辑器中的问题。为啥我保存文件时会关闭它们?