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
¿Fue útil?

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top