¿Cómo configuro MSBuild para usar un PublishProfile guardado para WebDeploy?
-
28-10-2019 - |
Pregunta
He usado Visual Studio para crear un perfil de publicación. Guardó esa información a myproject.publish.xml, ubicada en la raíz de mi directorio de proyecto.
Me gustaría la tarea MSBuild que se ejecuta en mi servidor CI para usar ese archivo como configuración base. Idealmente, si pudiera anular las propiedades a través de los parámetros de la línea de comandos, eso rockearía.
es posible? Si es así, ¿cuál es la sintaxis?
Por ejemplo, estoy buscando algo como:
MSBuild MyProject.csproj /P:UsePublishProfile=True /P:UserName=deployUser /P:Password=MyPassword
Solución
Lamento decirle que el archivo Publish.xml que usa VS2010 no fue diseñado para ser utilizado de esta manera. De hecho, ni siquiera fue diseñado para ser registrado/compartido con otros.
La lógica para leer/escribir esos archivos está estrictamente contenida dentro de Visual Studio y no está disponible a través de MSBuild. Por lo tanto, no hay una forma directa de hacer esto hoy. Debe pasar los nombres/valores de la propiedad individual cuando llame a msbuild.exe. Puedes ver una pregunta similar a la que respondí Construcción del equipo: publique localmente utilizando MSDePloy para más información.
Nota para la vista previa del desarrollador VS 11
Para que sepas que hemos abordado esto en la versión Up Coming of Visual Studio. Puede ver si descargando la vista previa del desarrollador VS 11. Ahora todos los perfiles se guardan en sus propios archivos (bajo PublishProfiles en el nodo de propiedades en el explorador de soluciones). Ahora están diseñados para ser registrados y compartidos con los miembros del equipo. Estos archivos ahora son archivos msbuild y puede personalizarlos si lo desea. Para publicar desde la línea de comandos, simplemente pase el despliegue de implementación = true y establezca PublishProfile al nombre del perfil. Por ejemplo:
msbuild.exe MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfile