Visual studio 调试模式是否仍在.net中创建相同的程序?

Visual studio 调试模式是否仍在.net中创建相同的程序?,visual-studio,file,debugging,Visual Studio,File,Debugging,我刚刚了解了VisualStudio中的发布模式。当我调试我的项目时,我可以转到我的项目文件并抓取bin文件夹中的.exe文件,这是我通常用作完成程序的地方。我的问题是,当我使用Release模式而不是Debug模式时,它会在这个bin文件夹中生成更好的文件,还是Debug模式会创建相同的文件?调试生成包含调试信息,并且使用更少的编译器优化。 对于数学量大的应用程序,调试版本通常比发布版本慢,并且在运行时消耗更多内存 为了获得最佳性能,首选发布版本。是的,我知道,但我的问题是,这些模式是否只影响

我刚刚了解了VisualStudio中的发布模式。当我调试我的项目时,我可以转到我的项目文件并抓取bin文件夹中的.exe文件,这是我通常用作完成程序的地方。我的问题是,当我使用Release模式而不是Debug模式时,它会在这个bin文件夹中生成更好的文件,还是Debug模式会创建相同的文件?

调试生成包含调试信息,并且使用更少的编译器优化。 对于数学量大的应用程序,调试版本通常比发布版本慢,并且在运行时消耗更多内存


为了获得最佳性能,首选发布版本。

是的,我知道,但我的问题是,这些模式是否只影响程序从visual studio运行的方式,还是它们在运行后生成不同的文件。我的意思是,bin文件夹中的文件总是由visual studio在发布模式下生成,还是在选择“调试”时从调试模式生成visual studio中的模式?调试版本和发布版本的编译方式不同。因此,编译后的MSIL是针对调试优化的,还是针对性能优化的。通常,调试构建使用较少的优化,因此在调试时可以逐步遍历代码。即使不进行调试,调试生成也会错过已编译程序集或exe中的这些优化。例如,对于较大的项目,您可以看到文件大小的差异。因此,我是否应该始终将其保持在发布模式?使用发布版本进行生产,使用调试版本进行测试和调试。对于小型应用程序,在发布版本中,这并不总是对性能/内存使用有多大影响。例如,并非所有要设置的断点都会在调试器中命中,而且也不可能在调试器中查看所有值