Visual Studio 编译时,会有bin和obj两个目录,当我们使用SVN的时候经常会出现每次打开一个项目解决方案上出现绿色图标变成黄色图标,意思有修改需要提交,这个问题就是这两文件夹作用的。
bin(binary的缩写)目录
bin 是默认情况下的输出文件目录,存放编译结果,bin 目录下有debug 和 release 目录。分别存放Debug设置编译结果和Release编译结果。可以通过项目属性—>编译—>生成输出路径进行修改。
obj(Object)目录
obj用于存放在编译过程中生成的中间临时文件,其中也都有debug 和 release 两个子目录, 分别对应调试版本和发行版本。在.NET中,编译是分模块进行的,每个模块的编译结果都保存在了Obj 目录下。最后会合并为一个.exe 或者 .dll 文件保存到 bin 之中。 因为每次编译都是增量编译,所谓“增量编译”是一种高效编译方法:当你执行一次编译时,只编译被你修改的源代码部分,没有修改的则不编译。编译中间结果就是用来跟踪哪些源代码被修改、哪些源代码没有改变。
通俗理解Bin是放最终编译文件,Obj是放编辑中间临时文件 。
SVN版本管理的时候将bin和obj移除项目就可以。