que darse cuenta de que esta pregunta se ha hecho antes - pero ninguna de las respuestas aplicar a mi caso concreto:Visual Studio: DLL dependientes de copia de destino de carpeta
tengo una solución que contiene un nativo de C++ proyecto EXE , que a su vez depende de más de 40 proyectos nativos de C++ DLL (en la misma solución).
El proyecto EXE tiene la configuración habitual depuración, lanzamiento (y Perfil), pero desde entonces misma base de código fuente se utiliza para construir tres diferentes aplicaciones (por ejemplo A1, A2 y A3). Además, apunta a x32 y x64, por lo que hay un total de 3 x 3 x 2 = 18 configuraciones de proyecto.
Los proyectos DLL son compartidas por las tres aplicaciones de destino, por lo que solamente 3 son ( de depuración, lanzamiento, perfil) Tiempos 2 (x32, x64) = 6 configuraciones.
Dado que el proyecto EXE depende de las DLL, necesita copiar la salida relevante de los proyectos DLL a su carpeta de destino (o una subcarpeta de la misma) cada vez que se modifiquen.
¿Cómo manejarías la actualización de las DLL?
Una acción posterior a la generación en cada proyecto DLL no funciona (bien), ya que tendría que copiar el archivo DLL en la carpeta de salida correspondiente de A1, A2 y A3. Cualquier cambio en una carpeta de salida resulta en tener que modificar la acción posterior a la construcción en cada uno de los 50 proyectos DLL.
Actualmente agregué las DLL mismas como elementos de proyecto para el proyecto EXE, y configuré una herramienta de compilación personalizada para copiarla en la carpeta de salida. Pero eso requiere que agregue cada DLL 6 veces, ¡así que termino con 6 x 50 = 300 DLL!
Lo que realmente necesito es algo así como la opción Copiar local, que desafortunadamente solo funciona en ensamblajes. ¿Alguna solución sugieres para simplificar esta configuración de compilación?
¡Excelente! ¿Por qué no lo pensé antes? –
Me alegro de que te haya gustado :) ver mi edición por un problema, sin embargo ... – CharlesB
Sí, me di cuenta. Pero eso es manejable, solo significa que habrá tres acciones de post-construcción ligeramente diferentes. –