En los proyectos de .NET habrás notado que existen dos carpetas que se generan automáticamente y son bin y obj, a continuación te explicaré de forma sencilla qué son y para qué sirve.
Aunque quizá para ti, estas carpetas hayan sido causa de molestias, estas carpetas tienen su razón de existir y son creadas por el IDE, como por ejemplo Visual Studio o Rider cuando trabajas con proyectos de .NET.
obj
Proviene de object y es empleada durante el proceso de compilación para almacenar archivos intermedios. Es aquí donde se guardan resultados parciales productos de la compilación antes de generar los binarios finales, los cuales van en la carpeta bin.
Los archivos que contiene pueden ser archivos de objeto, o también llamados archivos intermedios, archivos auxiliares o de soporte y archivos temporales o de ensamblado en una etapa intermedia.
bin
Es la abreviatura de binary y contiene los archivos binarios generados como resultado de la compilación del proyecto. Son los ejecutables o bibliotecas que se pueden ejecutar directamente o ser referenciados desde otros programas.
En esta carpeta puedes hallar archivos ejecutables con extensión .exe, bibliotecas con extensión .dll y otros archivos generados como configuraciones, recursos entre otros similares.
Ambas carpetas a su vez contienen las carpetas Debug y Release las cuales son configuraciones de compilación, debug significa depuración, asociada a la etapa de desarrollo y release es liberación, asociada al producto final.
Algo así lucen las carpetas en un proyecto real:
Conclusiones
Estas carpetas son necesarias para la correcta compilación y ejecución de los programas en .NET y es por eso que son autogeneradas por el IDE. Además sirven para hacer una clara separación entre el código fuente y los archivos intermedios y finales. Ahora ya lo sabes 😎
Si esta entrada te ha gustado no dudes en pasar la voz 🙌
Créditos de la imagen de portada: Foto de Heber Davis en Unsplash