2012-08-31 16 views
12

Para VS2010 y antes estaba utilizando proyectos de implementación web (WDP) para ayudar a empaquetar mi sitio web para la implementación de producción. Tenía un script de MSBuild que compiló la solución en modo de lanzamiento. Una salida de eso fueron los archivos de sitio web listos para producción compilados y limpiados por WDP.Invocar una publicación de msbuild para visual studio 2012

Veo que 2012 WDP se han eliminado, y se ha creado una nueva pestaña en las propiedades para la aplicación web. Las opciones son las mismas, pero ahora la invocación de esto se realiza a través de la opción Publicar (antes de compilarse en modo de lanzamiento).

Así que la pregunta es esta. Desde un script de MSBuild, ¿cómo invoco una operación de publicación? Encontré algunos mensajes antiguos que ...

msbuild /target:publish 

harían el truco. Pero eso no parece funcionar en 2012.

Además, he intentado en mi tarea msbuild ...

<MSBuild Properties="Configuration=Publish;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\MySolution.sln"></MSBuild> 

... pero msbuild acaba de informar "configuración desconocida".

¿Cómo puedo tener msbuild ejecutar la opción publicar desde la línea de comandos?

+0

try: http://stackoverflow.com/q/3097489/1162102 –

Respuesta

3

No pude ejecutar la publicación, pero al ver el resultado de Visual Studio creo que encontré una solución alternativa. Resulta que la carpeta obj \ Release \ AspnetCompileMerge tiene una versión del proyecto que se puede implementar y limpiar. Contiene archivos idénticos de bytes a la carpeta de salida final.

tuve que cambiar mi guión msbuild para incluir la opción DeployOnBuild ...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild> 
17

Parece que ahora hay algunas otras opciones para la publicación de la línea de comandos. Específicamente algo en la línea de la siguiente parece posible ahora con algunas actualizaciones RC para Visual Studio 2012.

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName 

Para más detalles visita this post by Scott Hanselman y echa un vistazo a la sección sobre Publishing.

+0

También puede ser necesario agregar VisualStudioVersion = 11.0 dependiendo de su configuración –

+0

Gracias por los comentarios @SebastianK. ¿Sabes cuándo es necesaria esa bandera? –

+1

Sí, aquí hay más información sobre ese parámetro; en mi caso esto fue necesario porque VS2010 se instaló en el cuadro de compilación: http://sedodream.com/PermaLink,guid,a5894bad-f2a1-441a-a5b2-74f16c6cf8aa.aspx –

Cuestiones relacionadas