有时我会对源代码进行少量更改,例如删除一行代码或更改某些值。
案例A
player.y = 100;
更改为player.y = 250;
y: 100
player.symbol = "O";
更改为player.symbol = "P";
y: 250
到目前为止,我已尝试
Build
检查Build > Configuration Manager...
该项目位于本地硬盘上。
修改 我找到了link。问题似乎非常相似,尽管现在测试时它不仅仅是编辑浮点数。我使用的是Visual Studio Community Version 15.7.1,但在修补之前也遇到了这个问题。
在构建调试时,这似乎不会发生(到目前为止)。
答案 0 :(得分:3)
这可能看起来很痛苦,但在进行任何重大更改后,通常最好清理解决方案并重建项目。您可能认为重新编译单个翻译单元将起作用,并且在某些情况下可能是真的,但如果其他目标文件依赖于您刚刚更新的翻译单元,则需要重新编译它们,否则visual studio将使用旧的目标文件以前已经建成。
至于 CTRL + F5 无论您处于debug
还是release
模式,只需告诉Visual Studio您要运行而不进行调试它与项目或解决方案的编译和构建无关。您确定不会将 CTRL + F5 与 CTRL + F7 混淆,因为用户SoronelHateir
已拥有在commmets中提到?对源代码进行任何更改后,最好先重新编译该单个文件,以确保没有编译错误。然后,最好在解决方案中重建当前项目。
另一方面,如果您的解决方案有多个项目,例如:一个项目是一个静态链接的库,另一个项目是您的主要可执行项目,您所做的更改位于您的库中,具体取决于主项目的方式取决于您可能需要的库项目,至少可能至少重建库项目,在某些情况下,您甚至可能需要重建主要的启动项目。大多数时候只需要重建静态链接的库就足够了;链接库的主程序很少需要重建以查看新的更改,但是有一些罕见的情况都需要重建。
我会再说一遍;是的,必须要做一个干净的解决方案并完成重建似乎很痛苦,但过了一段时间,这是最安全的旅行路径,以确保所有目标文件都是最新的。您在自己的解决方案中看到的是使用更新的代码运行程序的副作用,但输出与旧的目标文件的输出相匹配。这是IDE使用较旧或过时的目标文件的结果,因为您没有重建解决方案。清理解决方案会清除所有旧目标文件以及用于将源代码编译为转换单元以生成相应目标文件的任何中间文件。
IDE中有其他人提到的设置,例如用户:Bo Persson
已经从他们的回答中说明,您可以更改Visual Studio重新编译,重建项目或解决方案的行为。
答案 1 :(得分:-1)
在visual studio中,在进行更改后,我总是单击(在菜单栏中):
构建 - 重建解决方案
请注意,这与" CTRL + F5 "不同。和" CTRL - SHIFT - B " 它将始终获取所有更改并重新编译您的程序
答案 2 :(得分:-1)