.NET中的“obj”目录是什么?

我们正在讨论..什么是.NET的'obj'目录的目的是什么?

“obj”文件夹用于存储临时对象文件和其他文件,以便在编译过程中创build最终的二进制文件。

“bin”文件夹是完整二进制文件(程序集)的输出文件夹。

除了splattne的回答之外 ,我相信拥有它(而不是在构build之后清理它)的原因是支持渐进式编译。 如果你已经编译了100个类并且改变了其中的一个类,那么重新编译一个改变的类的代码并且重新组合来自新旧代码混合的exe / dll会更有效率。

当然,增量编译比这更复杂 – 它必须跟踪一切,以便它可以检测何时需要重新编译类,即使该类本身没有改变。 (例如,如果一个类中有一个新的重载可用 – 有些调用者可能需要重新编译。)