2010-05-05 33 views
30

¿Hay alguna forma de publicar un proyecto web en MS Visual Studio 2010 utilizando CLI? Uso DevEnv.exe/Build para construir un proyecto y funciona bien, pero no pude encontrar la opción para publicar un proyecto.Visual Studio. Publicar proyecto desde la línea de comando

Otra cosa que quiero mencionar. Estoy tratando de publicar proyectos web NO a IIS directamente. Tengo una ubicación donde publico varios proyectos y luego los construyo automáticamente en paquete de NSIS para implementar.

Respuesta

22

Lo que funciona mejor es añadir siguiente destino para el archivo de proyecto:

<Target Name="AfterBuild"> 
    <Message Text="Copying to Deployment Dir:" /> 
    <Copy SourceFiles="@(Content)" DestinationFolder="..\XXX\%(Content.RelativeDir)" /> 
     <CreateItem Include="$(OutputPath)\*"> 
     <Output TaskParameter="Include" ItemName="Binaries"/> 
     </CreateItem> 
    <Copy SourceFiles="@(Binaries)" DestinationFolder="..\XXX\bin" /> 
</Target> 

De esta manera, cada vez que se compila el proyecto (desde la línea de comandos o desde IDE) se implementa automáticamente en la carpeta especificada. Gracias a todos por indicarme la dirección correcta.

+0

problema que tengo con esto es que se publica tanto depurar y liberar modos no es cierto? Eso podría tener graves consecuencias para un sitio en vivo si se publica su configuración de depuración. Creemos que lo que necesitamos es un lote de CLI que sí lo haga: 'compilar versión y publicar con esta configuración de publicación'. –

+1

@RobKent puede configurar transformaciones de archivos de configuración que luego puede usar para activar el comportamiento anterior solo para ciertas configuraciones de compilación. Solo google .net config se transforma. –

-2

MSBuild (que creo que se incluye con VS) ofrece una opción de publicar línea de comandos:

msbuild /t:publish yourproject.csproj 
+0

parece que salta mi proyecto Diciendo: D: \ Dev \ Project> msbuild/t: publicar "Project.csproj" Microsoft (R) Build Engine Version 3.5.30729.4926 [Microsoft .NET Framework, versión 2.0.50727.4927] Copyright (C) Microsoft Corporation 2007. Todos los derechos reservados. Fecha de creación 5/5/2010 10:06:58 AM. Proyecto "D: \ Dev \ Project \ Project.csproj" en el nodo 0 (publicar objetivo (s)). Saltando proyecto imposible de publicar. Hecho Proyecto de construcción "D: \ Dev \ Project \ Project.csproj" (publicar objetivo (s)). Compilación exitosa. 0 Advertencia (s) 0 Error (s) Tiempo transcurrido 00: 00: 00.00 – sha

+0

Esto es sólo para aplicaciones ClickOnce – reggaeguitar

6

El /t: publicar interruptor es para aplicaciones ClickOnce única, no es aplicable a los proyectos web. De ahí el error que dice que no se puede publicar. :)

+3

Esto no es una respuesta. – Gusdor

+0

@Gusdor Fue una respuesta al OP, ya que originalmente se preguntó por qué había un error que decía que la solución era 'no publicable'. –

Cuestiones relacionadas