VS2017代码更改不影响.exe文件

时间:2019-09-16 07:05:15

标签: debugging visual-studio-2017 release

所以我面临着VS代码更改的问题。

无论我对解决方案应用和构建的更改如何,它都可以正常工作,并且在调试时可以看到所做的更改。 但是相同的更改不适用于.exe文件。

我也尝试过发布版本,与此相同。它可以很好地调试发行版本,但不会将这些更改应用于.exe文件。

因此,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

  

它可以很好地调试发行版,但不会将这些更改应用于   .exe文件。

调试项目时,VS debug engine will try to fetch the output project.exe and project.pdb for debugging。因此,如果调试正常(应用了这些更改),则输出project.exe也应该没有任何问题(应用更改)。

请参阅以下内容(对于C ++,与C#,VB相似的情况):

enter image description here

当VS调试引擎找不到输出.exe时,会出现此错误消息,这就是为什么我说如果在调试过程中应用了更改,它实际上表明更改已应用于您的.exe文件。

让我命名为输出.exe ProjectA的项目,解决方案中的其他项目为B,C,D。您可以检查以下两个方向:

如果代码更改,您的意思是在项目A中

  1. 在解决方案资源管理器中右键单击项目A => Properties,检查Output Directory(C ++)或Output path in build tab(C#)的值,它表示输出.exe实际存在的位置,以及VS调试引擎将在此路径中获取.exe。

因此,请确保您在此路径中测试了.exe,而不是其他位置的旧版本。

如果代码更改,您的意思是 B,C,D ,而A取决于B,C,D:

  1. 在大多数时候,VS会帮助将程序集从B,C,D复制到A的bin文件夹中,但是我不确定您的环境是否有问题,这会导致这种情况。您应确保bin文件夹中的所有程序集均已更新

我认为此问题来自您的项目而不是IDE(创建一个新的简单项目以检查问题是否在其中)。您以哪种方式检查是否应用了更改?确保在调试过程中进行检查或检查.exe时都使用相同的方式。

已更新:

根据Sandesh的说法,此问题可以通过 clean (清洁  旧版本完全)重建。