当我在Visual Studio 2017中构建一个C#程序(这是我一直在研究的几个不同的解决方案/项目)时,新的,更新的代码将在调试模式下构建并运行(并正确运行)。
但是,Visual Studio在构建/调试它们时输出的应用程序一直保留在我保存的原始第一版代码中。当我选择重建选项时,它将更新应用程序和.pdb
文件的时间戳,但应用程序将执行它在早期代码版本中执行的方式,而不是在运行问题时运行问题的最新代码版本。按Ctrl + F5后立即运行调试模式。
这些是使用.NET Framework 4.6.1的C#控制台应用程序,如果这有任何区别的话。我检查了输出文件夹,它确实是所需的文件夹和我一直在查找的文件夹...所以为什么时间戳更新它输出的应用程序(.exe
文件),而不是代码本身?我错过了什么?
答案 0 :(得分:0)
当我在Visual Studio中遇到类似这样的奇怪事情时,通常工作的第一件事就是清理项目并重建。如果这不起作用,我将关闭Visual Studio,重新启动,然后再次清理和重建。如果这不起作用,我会开始研究你安装的任何可能妨碍你的构建过程的扩展。
此外,如果存在问题,您可以查看记录扩展活动以帮助进行故障排除。请参阅以下文章:
你可能已经尝试过这个,但由于没有提及,我以为我会在类似的情况下为其他人提供它。
答案 1 :(得分:0)
两个可能的原因:
(1)您的项目在调试期间未重新编译。请在TOOLS->选项 - >调试。
下启用编辑并继续(2)Visual Studio有一个增量构建的概念。如果您有一个包含两个或更多项目的解决方案,并且只在两个项目中的一个中更改源代码,则“Build”命令将仅编译已修改的项目。但另一方面,“Rebuild”命令将重新编译此解决方案中的所有项目。