Tengo una situación donde quiero copiar el ensamblaje de salida de un proyecto en el directorio de salida de mi aplicación de destino usando MSBuild, sin rutas de codificación en mi MSBuild Copiar tarea Este es el escenario:Copia de MSBuild salida de otro proyecto a la salida del proyecto actual
- Proyecto A - Proyecto de Aplicación Web
- Proyecto B - Proyecto de interfaz Dal
- Proyecto C - Dal Implementación del Proyecto
Hay una capa de negocios también, pero no tiene relevancia para el problema de MSBuild que estoy buscando resolver.
Mi capa empresarial hace referencia a mi proyecto Dal.Interface. Mi proyecto web tiene una referencia a la capa Business y, tal como está, realizar una construcción hará que la capa empresarial y los proyectos Dal.Interface entren en la salida. Hasta aquí todo bien. Ahora, para que la aplicación web se ejecute, necesita la implementación de Dal. No quiero que se haga referencia a la implementación en cualquier lugar porque quiero aplicar codificación a la interfaz y no tener una referencia significa que no aparecerá en intellisense, etc.
Así que pensé que podría manejar esto a través de la copia MSBuild operación como una tarea AfterBuild (tengo la configuración de Implementación Dal para compilar cuando se construye el proyecto web, simplemente no se hace referencia). No quiero codificar las rutas de acceso ni ninguna otra cosa en los parámetros MSBuild, así que estoy tratando de averiguar cómo hacer referencia al resultado del proyecto Dal desde el archivo MSBuild del Proyecto de Aplicación Web.
Así que basado en los proyectos mencionados anteriormente, esto es lo que quiero que suceda:
- aplicación web de construcción se inició
- Todos los proyectos necesarios de construcción (ya configurados, por lo que esto se hace)
- MSBuild tarea "AfterBuild" arranca y la salida del proyecto C (Dal Implementación) se copia en el directorio bin del Proyecto a (aplicación web)
Parte 3 es donde estoy atascado.
Estoy seguro de que esto se puede hacer, solo que no encuentro una buena referencia para ayudar. Gracias de antemano por cualquier ayuda.
I + 1 hace esto hace siglos. Como has sugerido, esto no está limpio; obviamente, esto se rompe si el OutDir cambia, p. al construir con TeamBuild. (Solo en caso de que otros vean esto y no se den cuenta de las deficiencias). Ver también http://stackoverflow.com/questions/2325598/determining-outputs-of-a-projectreference-in-msbuild/2325620#2325620 –
Ver http: // stackoverflow.com/questions/2325598/determination-outputs-of-a-projectreference-in-msbuild/2325620 # 2325620 para ver un ejemplo de una forma de abordar la inquietud que mencioné –