什么是obj和bin文件夹(由Visual Studio创build)用于?

我在Visual Studio 2010中创build了一个新项目,并注意到在我的项目目录中现在有两个名为objbin新文件夹。

在构build和debugging时会创build一对类似的文件夹 – 这些文件夹用于什么目的?

obj文件夹保存对象或中间文件 ,它们是编译后的二进制文件,尚未链接。 他们基本上是片段,将被结合起来产生最终的可执行文件。 编译器为每个源文件生成一个目标文件,并将这些文件放入obj文件夹中。

bin文件夹包含二进制文件 ,这是您的应用程序或库的实际可执行代码。

这些文件夹中的每一个都进一步细分为“ Debug和“ Release文件夹,这些文件夹仅与项目的构buildconfiguration相对应。 上面讨论的两种types的文件被放置到适当的文件夹中,具体取决于您执行的构buildtypes。 这使得您可以轻松确定哪些可执行文件是使用debugging符号构build的,哪些可执行文件是通过优化启用并准备发布的。

请注意,您可以在项目的“属性”中编译期间更改Visual Studio输出可执行文件的位置。 您还可以更改构buildconfiguration的名称和选定选项。

obj目录用于编译或构build系统在生成过程中生成的中间对象文件和其他临时数据文件。 bin目录是最终输出二进制文件(以及任何依赖关系或其他可部署文件)将被写入的目录。

如果您愿意,可以在项目设置中更改用于两种目的的实际目录。

有关obj目录的一个有趣的事实:如果您已经在web项目中设置了发布,将发布的文件将暂存到obj \ Release \ Package \ PackageTmp。 如果你想自己发布这些文件,而不是使用集成的VSfunction,那么你可以抓取你实际需要在这里部署的文件,而不是selectbin目录中的所有数字碎片。