Visual Studio: cómo hacer comstackciones incrementales con MSBuild y Git

Creé un objective y especifiqué las inputs y salidas descritas en este tutorial para crear files CSS a partir de files SASS. Esto generalmente funciona, excepto cuando cambio a una twig anterior de Git que tiene marcas de time de file más antiguas. En este caso, deseo que MSBuild ejecute mi objective para rebuild mis files, pero MSBuild lo omite porque las marcas de time en mis Entradas son anteriores a mis Salidas, así que MSBuild piensa que mis Salidas están actualizadas.

¿Cómo puedo get Visual Studio para build incrementalmente mis files SASS y también limpiar / ignorar mis Salidas cuando cambio las twigs de Git? Quiero evitar la limpieza manual de mis files comstackdos de CSS para forzar una compilation.

Puede usar un gancho Post Checkout. (Ver también documentos oficiales de Git ).

Ponga su command limpio en el file .git/hooks/post-checkout . P.ej:

 msbuild myproj.csproj /t:clean 

Y ese command debería ejecutarse siempre que cambies de twig.

Esto hará que se produzca una reconstrucción completa, que es probablemente lo que desea, ya que sería difícil determinar qué files han cambiado entre las sucursales.

AFAIK, todos los enganches Git son locales para el repository y no se pueden facturar. Para compartir su anzuelo con otros usuarios, puede savelo en algún lugar del repository y decirle a los usuarios que lo copien manualmente en el lugar correcto, o agregue un evento de compilation para copyrlo allí si es necesario.