【问题标题】:Visual Studio 2017 outputting older build versions in bin/debug folderVisual Studio 2017 在 bin/debug 文件夹中输出较旧的构建版本
【发布时间】:2018-06-21 02:38:59
【问题描述】:

当我在 Visual Studio 2017 中构建 C# 程序(我一直在处理的几个不同的解决方案/项目中一直在这样做)时,新的、更新的代码将在调试模式下构建和运行(并正确运行)。

但是,Visual Studio 在我构建/调试它们时输出的 应用程序 一直保留在我保存的原始代码的第一个版本中。当我选择重建选项时,它将更新应用程序和.pdb 文件上的时间戳,但应用程序将按照它在早期代码版本中的方式执行,而不是在我运行时出现问题的最新代码版本按 Ctrl + F5 后立即调试模式。

这些是带有 .NET Framework 4.6.1 的 C# 控制台应用程序,如果这有什么不同的话。我检查了输出文件夹,它确实是所需的文件夹,也是我一直在寻找的文件夹......那么为什么它输出的应用程序(.exe 文件)上的时间戳更新,而不是代码本身?我错过了什么?

【问题讨论】:

  • 像 Josh 的建议一样,您可以清理并重建您的解决方案/项目,查看结果。实际上,如果您只是直接构建您的解决方案,也许您会得到过时的信息,这意味着更新没有保存到您的输出 dll 文件中。
  • 这个问题呢?能否请您与我们分享最新信息?清理和重建解决方案/项目后,您解决了吗?
  • 它现在似乎正在工作,但我不确定我做了什么不同。
  • 很高兴知道您已解决此问题。我只是添加了这个问题的可能原因。

标签: c# debugging build visual-studio-2017 bin


【解决方案1】:

当我在 Visual Studio 中遇到类似这样的奇怪事情时,通常会做的第一件事是清理项目并重新构建。如果这不起作用,我将关闭 Visual Studio,重新启动,然后再次清理并重新构建。如果这不起作用,我会开始调查您安装的任何可能妨碍构建过程的扩展。

此外,如果存在问题,您可以查看记录扩展程序活动以帮助解决问题。请参阅以下文章:

https://blogs.msdn.microsoft.com/visualstudio/2010/02/24/troubleshooting-extensions-with-the-activity-log/

您可能已经尝试过这个,但由于没有提到它,我想我会为处于类似情况的其他人提供它。

【讨论】:

    【解决方案2】:

    两个可能的原因:

    (1) 您的项目在调试期间没有重新编译。请在 TOOLS->Options->Debugging 下启用 Edit and Continue。

    (2) Visual Studio 有增量构建的概念。如果您有一个包含两个或更多项目的解决方案,并且您只更改了两个项目之一中的源代码,则“构建”命令将仅编译修改后的项目。但另一方面,“重建”命令会重新编译此解决方案中的所有项目。

    【讨论】:

      猜你喜欢
      • 2010-09-13
      • 2017-09-03
      • 1970-01-01
      • 2017-08-22
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多