2011-02-15 13 views
11

EDITAR: Esta es una aplicación VS2008 escrita en C#.Visual Studio 2008 - Mover archivos en la compilación a bin/

así que tengo una carpeta en mi solución llama

_lib/ 

Es donde guardo mis archivos DLL para que cuando me refiero a ellos, que se construyen en la carpeta bin/.

Ahora tengo un nuevo elemento en mi solución. Es una DLL pero no debe ser una referencia (se requiere para una aplicación de terceros). Entonces, en la compilación, quiero que esto se copie de _lib/ a bin/, pero NO se hace referencia en el proyecto.

He incluido la carpeta _lib/ en mi aplicación, y para las propiedades de esa DLL que seleccioné siempre copia. Esta casi funcionó, copia el archivo con la carpeta, por lo que mi estructura se parece a:

/bin/_lib/thedll.dll 

En lugar de

/bin/thedll.dll 

¿Alguna idea?

+0

¿Es este un proyecto de C++? VS2010? – ThomasMcLeod

+0

Es C# y VS2008. Editaré esa información en :) :) –

+1

¿Es la copia un paso de compilación personalizado? – ThomasMcLeod

Respuesta

22

intente seguir estos pasos en Visual Studio:

  • expandir el árbol de proyecto en cuestión

  • doble clic en el elemento de Properties

  • En la ventana abierta, en la ficha Build Events

  • En el área de texto Post-build event command line plac e esto:

    xcopy "$(ProjectDir)_lib\file.ext" "$(ProjectDir)bin\$(ConfigurationName)" 
    
  • Abrir la carpeta de salida esperada junto con Visual Studio

  • Hit CTRL + Shift + B para asegurarse de que todo se guarda y construir

  • Feel la sensación de logro dentro de ti cuando aparece tu archivo

  • :)

Oh, y ahora se puede establecer Copy to output directory-Do not copy.

+0

Decepción: ¡Ahhh, mi sentido de logro nunca ha sido tan alto! Heh heh :) Gracias por la respuesta, y efectivamente funcionó. De hecho, consideré hacerlo como una tarea posterior a la compilación, pero pensé: "seguramente hay una configuración que puedo usar para copiarla directamente", pero no es así. Gracias por la confirmación y la respuesta detallada :) –

+2

Simplemente haciendo una pequeña edición - agregada/Y por lo que sobrescribe los archivos existentes en el directorio de salida. Sin esto, causa un error después de la primera compilación. –

+0

Muchas gracias, ¡has resuelto mi problema! –

Cuestiones relacionadas