Cómo copiar la salida del proyecto al que se hace referencia en Visual Studio
Frecuentes
Visto 554 veces
1
Tengo dos proyectos: Lib
y Exe
.
Oficial Lib
genera algunos archivos en PostBuildEvent
dentro $(TargetDir)
. supongamos que es
echo Foo > $(TargetDir)\Readme.txt
Exe
referencias Lib
con Copy Local
establecido enTrue
.
Desafortunadamente no se copian archivos a Exe
directorio de salida.
¿Cómo puedo enseñar a VS/MSBuild a copiar mis archivos al igual que copia los elementos del proyecto con Copy to Output Directory
?
2 Respuestas
2
Creo que se puede hacer si agregas un AfterBuild
objetivo en su archivo de proyecto de Visual Studio de Exe
proyecto como a continuación:
<Target Name="AfterBuild">
<ItemGroup>
<LibProject Include="$(LibProjectDirectory)\Lib.csproj"/>
</ItemGroup>
<ItemGroup>
<LibOutput Include="%(LibProject.RootDir)%(LibProject.Directory)\bin\$(Configuration)\*" />
</ItemGroup>
<Copy SourceFiles="@(LibOutput)" DestinationFolder="$(OutputPath)" />
</Target>
Esto supone que Lib
la salida del proyecto va a la ubicación predeterminada de %(LibProject.RootDir)%(LibProject.Directory)\bin\$(Configuration)
. Si está configurado de manera diferente, debe actualizar el LibOutput
Elementos Include
parámetro en consecuencia.
Respondido el 30 de Septiembre de 13 a las 10:09
-1
No puede, al menos no directamente: msbuild no sabe, y definitivamente no debería, saber que crea archivos en el evento posterior a la compilación, y mucho menos que se ocupará de ellos.
Créelos directamente donde deberían terminar, o agregue un evento adicional posterior a la compilación en el proyecto Exe para copiar los archivos. En ambos casos, es conveniente definir un directorio de salida común como propiedad en un archivo msbuild e importar ese archivo en ambos proyectos, para que ambos puedan hacer referencia a la propiedad.
Respondido el 30 de Septiembre de 13 a las 08:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas visual-studio-2012 msbuild or haz tu propia pregunta.
posible duplicado de MSBuild para copiar archivos generados dinámicamente como parte de la dependencia del proyecto - Marcin Wisnicki