2011-03-15 11 views

Respuesta

150

La carpeta obj contiene objeto, o intermedios, archivos, que son archivos binarios compilados que aún no se han vinculado. Son esencialmente fragmentos que se combinarán para producir el ejecutable final. El compilador genera un archivo de objeto para cada archivo fuente, y esos archivos se colocan en la carpeta obj.

La carpeta bin sostiene archivos binarios, que son el código ejecutable real para su aplicación o biblioteca.

Cada una de estas carpetas se subdivide en las carpetas Debug y Release, que simplemente corresponden a las configuraciones de compilación del proyecto. Los dos tipos de archivos mencionados anteriormente se colocan en la carpeta adecuada, dependiendo del tipo de compilación que realice. Esto le facilita la tarea de determinar qué ejecutables están compilados con símbolos de depuración y cuáles fueron creados con las optimizaciones habilitadas y listas para ser lanzadas.

Tenga en cuenta que puede cambiar en Visual Studio da salida a los archivos ejecutables durante una compilación de las propiedades de su proyecto. También puede cambiar los nombres y las opciones seleccionadas para sus configuraciones de compilación.

+3

Por alguna razón, mi proyecto no tiene una subcarpeta de depuración o publicación para las carpetas obj e bin. Si edito la configuración de mi proyecto para compilarla en la subcarpeta de depuración/publicación, dependiendo de la configuración seleccionada en ese momento, recibo el error de que no se pudo crear el tipo de datos cuando depuro mi aplicación. Mi aplicación solo busca en la carpeta bin para los dlls y nunca sabe buscar en la carpeta de depuración o publicación. ¿Cómo puedo corregir esto? –

+0

Solo para aclarar un error tipográfico, tengo una carpeta de depuración y liberación en mi carpeta obj, pero no tengo ninguna carpeta de depuración o publicación en la carpeta bin. –

+3

@Sly No entiendo lo que estás preguntando. Un proyecto crea una aplicación (EXE) o una biblioteca (DLL). No puede construir ambos. Entonces, si su proyecto crea una aplicación, no colocará ninguna DLL en su carpeta bin. Y si su proyecto crea una biblioteca, recibirá un error cuando intente depurarlo porque no puede ejecutar una DLL. De todos modos, parece que ha cambiado la ruta de salida predeterminada en las propiedades de su proyecto. Si necesita más ayuda, haga una nueva pregunta. Asegúrese de documentar bien el problema, incluyendo capturas de pantalla de la configuración de su proyecto si es necesario. –

12

El directorio obj es para archivos de objetos intermedios y otros archivos de datos transitorios que son generados por el compilador o el sistema de construcción durante una generación. El directorio bin es el directorio en el que se escribirán los binarios de salida finales (y las dependencias u otros archivos desplegables).

Puede cambiar los directorios reales utilizados tanto para fines dentro de la configuración del proyecto, si lo desea.

1

Un hecho interesante sobre el directorio obj: Si tienes editorial creada en un proyecto web, los archivos que serán publicadas son por etapas para obj \ Release \ Package \ PackageTmp. Si desea publicar los archivos usted mismo en lugar de usar la función integrada VS, puede tomar los archivos que realmente necesita desplegar aquí, en lugar de seleccionar todos los desechos digitales en el directorio bin.

Cuestiones relacionadas