¿Cómo usar MSBuild en el sfproj?

Intento que mi aplicación Service Fabric se compile en un servidor de compilación. Cuando construyo el archivo .sln, el objetivo del paquete sfproj no se ejecuta. Como se esperaba. Parece que no puedo hacer que MSBuild ejecute este objetivo.

Primero, los únicos objetivos disponibles cuando se compila contra el archivo .sln son los objetivos estándar de compilación y publicación.

Segundo, construir contra el propio .sfproj SÍ hace que el objetivo se ejecute. Sin embargo, debido a la falta de coincidencia de $ (BuildPlatform), los proyectos a los que hace referencia el .sfproj no se compilan correctamente. El .sfproj tiene una plataforma x64. La mayoría de mis otros proyectos son cualquier CPU.

Esto es menos una pregunta de Service Fabric y más una pregunta general de MSBuild, supongo. Estoy buscando una solución que no requiera que unifique todas las opciones de Plataforma de mi proyecto. Service Fabric REALMENTE ES solo x64, y mis otros proyectos REALMENTE SON cualquier CPU.

[EDITAR]

Resolví esto. Lo que hice fue agregar un nuevo Target al archivo .sfproj, llamadoMaybePublish, y lo configuré como uno de los objetivos predeterminados.MaybePublish tiene unCondition para'$(Package)' == 'true'. TieneDependsOnTarget ajustado aPackage. Básicamente, este objetivo opcionalmente empaqueta la aplicación Service Fabric, si se establece una propiedad al crear la solución.

Se me ocurre que esta es probablemente la forma en queDeployOnBuild cosas funcionan en los proyectos de publicación web. Los archivos de destino de Service Fabric deberían tener este tipo de soporte de forma predeterminada.

Respuestas a la pregunta(4)

Su respuesta a la pregunta