VS2017代码更改不影响.exe文件
VS2017 code changes not affecting .exe file
所以我遇到了 VS 代码更改的问题。
无论我对我的解决方案应用和构建的任何更改,它都运行良好,并且我可以在调试时看到正在应用的这些更改。 但是相同的更改没有应用到 .exe
文件。
我也试过发布版本,同理。它可以很好地调试发布版本,但不会将这些更改应用到 .exe
文件。
It Debugs the release build fine but doesn't apply those changes to
.exe file.
调试项目时,VS debug engine will try to fetch the output project.exe and project.pdb for debugging
。因此,如果调试工作正常(应用了这些更改),输出 project.exe 也应该没有任何问题(应用了更改)。
看到这个(对于C++,与C#类似的情况,VB):
当 VS 调试引擎找不到输出的 .exe 时会出现此错误消息,这就是为什么我说如果在调试期间应用了更改,它实际上表明更改已应用到您的 .exe 文件。
让我将输出.exe 的项目命名为ProjectA,您解决方案中的其他项目是B、C、D。您可以查看以下两个方向:
如果代码发生变化,您的意思是 在项目 A 中:
- 在解决方案资源管理器中右击项目A=>属性,检查你的
Output Directory
(C++)或Output path in build tab
(C#)的值,它表示输出.exe实际存在的位置, VS 调试引擎将在此路径中获取 .exe。
因此请确保您在此路径中测试了 .exe,而不是其他位置的旧版本。
如果代码发生变化,你的意思是 在 B、C、D 中,而 A 依赖于 B、C、D:
- 在大多数情况下,VS 会帮助将程序集从 B、C、D 复制到 A 的 bin 文件夹中,但我不确定您的环境是否有问题导致此错误。您应该确保您的 bin 文件夹中的所有程序集都是 更新的。
我认为这个问题来自您的项目而不是 IDE(创建一个新的简单项目以检查问题是否出现在其中)。您以何种方式检查是否应用了更改?无论调试时检查还是检查.exe
.
,请确保使用相同的方式
更新:
根据 Sandesh 的说法,这个问题可以通过 clean(clean
旧版本完全)重建。
右键单击您的项目并单击属性,在“常规”页面中,将“启用托管增量构建”设置为“是”。它会在每次构建后替换旧的 exe 文件。
所以我遇到了 VS 代码更改的问题。
无论我对我的解决方案应用和构建的任何更改,它都运行良好,并且我可以在调试时看到正在应用的这些更改。 但是相同的更改没有应用到 .exe
文件。
我也试过发布版本,同理。它可以很好地调试发布版本,但不会将这些更改应用到 .exe
文件。
It Debugs the release build fine but doesn't apply those changes to .exe file.
调试项目时,VS debug engine will try to fetch the output project.exe and project.pdb for debugging
。因此,如果调试工作正常(应用了这些更改),输出 project.exe 也应该没有任何问题(应用了更改)。
看到这个(对于C++,与C#类似的情况,VB):
当 VS 调试引擎找不到输出的 .exe 时会出现此错误消息,这就是为什么我说如果在调试期间应用了更改,它实际上表明更改已应用到您的 .exe 文件。
让我将输出.exe 的项目命名为ProjectA,您解决方案中的其他项目是B、C、D。您可以查看以下两个方向:
如果代码发生变化,您的意思是 在项目 A 中:
- 在解决方案资源管理器中右击项目A=>属性,检查你的
Output Directory
(C++)或Output path in build tab
(C#)的值,它表示输出.exe实际存在的位置, VS 调试引擎将在此路径中获取 .exe。
因此请确保您在此路径中测试了 .exe,而不是其他位置的旧版本。
如果代码发生变化,你的意思是 在 B、C、D 中,而 A 依赖于 B、C、D:
- 在大多数情况下,VS 会帮助将程序集从 B、C、D 复制到 A 的 bin 文件夹中,但我不确定您的环境是否有问题导致此错误。您应该确保您的 bin 文件夹中的所有程序集都是 更新的。
我认为这个问题来自您的项目而不是 IDE(创建一个新的简单项目以检查问题是否出现在其中)。您以何种方式检查是否应用了更改?无论调试时检查还是检查.exe
.
更新:
根据 Sandesh 的说法,这个问题可以通过 clean(clean 旧版本完全)重建。
右键单击您的项目并单击属性,在“常规”页面中,将“启用托管增量构建”设置为“是”。它会在每次构建后替换旧的 exe 文件。