'.NET 中的 'obj' 目录究竟是什么目的?'
“obj”文件夹用于存储在编译过程中用于创建最终二进制文件的临时对象文件和其他文件。
“bin”文件夹是完整二进制文件(程序集)的输出文件夹。
除了 splattne的回答,我认为保留它(并且在编译后不清理掉)的 原因 是为了支持增量编译。如果你已经编译了100个类并且更改其中一个,那么只重新编译一个更改的类的代码,然后从新旧代码混合组装exe/dll会更有效率。
当然,增量编译比这复杂得多——它必须跟踪所有内容,以便能够检测到何时需要重新编译一个类,即使该类本身没有更改。(例如,如果一个类中出现了一个新的重载,一些调用者可能需要重新编译。)