c# - solucion - Agregue una tarea msbuild que se ejecute después de compilar un proyecto.NET Core en Visual Studio 2017 RC
publicar proyecto visual studio 2017 (1)
Una alternativa es usar el atributo AfterTargets en el Target. Algo como:
<Target Name="TestTarget" AfterTargets="Build">
<Message Importance="High" Text="This is a test" />
</Target>
No estoy seguro de por qué "AfterBuild" ya no funcionaría, pero esta parece ser una decisión consciente de los responsables de MSBuild (h / t a Livven al señalarme este problema con Github). "AfterBuild" fue un nombre especial que fue utilizado por el objetivo de compilación. La versión actual de Microsoft.Common.CurrentVersion.targets
todavía lo tiene:
<PropertyGroup>
<BuildDependsOn>
BeforeBuild;
CoreBuild;
AfterBuild
</BuildDependsOn>
</PropertyGroup>
<Target
Name="Build"
Condition=" ''$(_InvalidConfigurationWarning)'' != ''true'' "
DependsOnTargets="$(BuildDependsOn)"
Returns="$(TargetPath)" />
<!--
¿Hay algo así como el objetivo de AfterBuild en msbuild con .NET Core en Visual Studio 2017 RC?
Traté de agregar el siguiente recorte al archivo .csproj, pero no se ejecuta durante una compilación (a diferencia de VS2015, donde funciona).
<Target Name="AfterBuild">
<Message Importance="High" Text="This is a test" />
</Target>
Otro descubrimiento interesante: como pensé que el objetivo AfterBuild podría haberse eliminado, ejecutando msbuild <project.csproj> /t:AfterBuild
no parece llamar al objetivo agregado. Si cambio el nombre del objetivo a "Prueba", llámalo con msbuild <project.csproj> /t:Test
que funciona bien.
Además, ¿hay alguna documentación en la versión de msbuild (y posiblemente las secuencias de comandos de compilación .NET Core) con Visual Studio 2017 RC?