Estoy enfrentando un problema con MSBuild
No puedo superarlo solo. Como resultado, confío en la sabiduría de la comunidad.¿Cómo hacer que MSBuild construya un objetivo personalizado especificado en csproj building sln?
La situación real que estoy teniendo problemas con
Tengo un archivo que contiene soluiton varios proyectos con dependencias a otros proyectos en la misma solución. Me gustaría añadir un destino personalizado a uno de los archivos csproj del proyecto y compilarlo desde la línea de comando. Me permitirá hacer todos los archivos binarios de salida necesarios para este proyecto para su posterior procesamiento durante la construcción del objetivo personalizado. Pero lo principal es que no puedo entender cómo hacerlo, Google tampoco ayuda.
Simplificación
Para hacer algo más simple que decidí hacer un nuevo proyecto de consola de C#, agregue un objetivo personalizado simple para el archivo del proyecto y tratar de hacer que construir. Todavía no hay éxito! Aquí lo que hice hasta ahora:
Creé una aplicación de solución con una coreapp de proyecto de consola predeterminada. Esto me gaves al menos dos archivos:
- app.sln
- coreapp \ coreapp.csproj
coreapp.csproj modificado con la adición de mi objetivo de encargo dentro de la etiqueta Proyecto
<Target Name="SampleTarget"> <Message Text="This is a SampleTarget" /> </Target>
Ejecute en la línea de comando el siguiente comando
%windir%\Microsoft.NET\framework\v3.5\msbuild.exe app.sln /t:coreapp:SampleTarget
o incluso
%windir%\Microsoft.NET\framework\v3.5\msbuild.exe app.sln /t:coreapp.csproj:SampleTarget
Resultados
No hubo suerte, que enfrenta el error
MSB4057: The target "coreapp.csproj:SampleTarget" does not exist in the project.
Sospecho que MSBuild
piensa somehting fundamentalmente diferente de lo que yo quiero que piense ...
Además de eso, también trató de establecer en la misma línea de comandos de la variable de entorno MSBuildEmitSolution = 1 para forzar msbuild volcar una solución temporal archivo que crea al procesar la solución. En este archivo, de hecho, no hay tal objetivo. Sin embargo, supongo que no es la razón porque le pedí a msbuild que construyera coreapp.proj donde realmente reside el ObjectTarget objetivo.
La pregunta es cómo construir SampleTarget en este escenario simplificado usando el archivo de solución ya que potencialmente puede contener dependencias para el proyecto que contiene este objetivo SampleTarget?
¡Estaría agradecido por cualquier tipo de ayuda o fuego para futuras investigaciones!
¿Esto ayuda? http://stackoverflow.com/questions/3397460/custom-common-target-to-build-a-solution –