visual studio solucion realizo que los han generarse generar error ejecutable diseñador confirmado compilar compilacion compila como codigo cambios c# asp.net asp.net-mvc visual-studio visual-studio-2008

solucion - generar ejecutable visual studio 2010 c#



¿Cómo publicar automáticamente un sitio web en la compilación en Visual Studio 2008? (5)

Bueno, podrías hacerlo con MSBuild en un evento posterior a la compilación.

Pero, ¿estás seguro de que quieres hacer esto? ¿Te ralentizará y probablemente no necesites publicar para cada compilación? ¿Por qué no ejecutar el sitio en IIS en lugar de Cassini?

Quiero poder publicar automáticamente en una carpeta local cada vez que se genere un proyecto web asp.net mvc 2.

Yo uso Visual Studio 2008.


Opción 1: cambie de Cruise Control a JetBrains TeamCity (¡no se arrepentirá!). En TeamCity hay una opción de Artefactos que ...

"Los artefactos son archivos producidos por una compilación. Después de finalizar una compilación, TeamCity busca los artefactos en el directorio de pago de la compilación de acuerdo con los patrones de artefactos especificados. Los archivos correspondientes se cargan en el servidor, donde están disponibles para descargar".

Opción 2: crear una tarea en el control de crucero para realizar una XCOPY después de que se complete la construcción.

<tasks> <msbuild> ... here''s your main build ... </msbuild> <exec> ... define your XCOPY or other executable task here ... <buildTimeoutSeconds>900</buildTimeoutSeconds> </exec>

Opción 3: cree un proyecto posterior a la construcción en su solución y haga una tarea para copiar los archivos, agregue una condición en esa tarea que solo se active cuando se ejecute en el control de crucero (varias variables de entorno lo habilitan).


Paso 1. Asegúrate de tener un proyecto web.

Paso 2. Vaya a Ver-> Barras de herramientas-> Web One Click Publish.

El botón web del botón publicar en la barra de herramientas hará lo que usted desea ... crear y publicar en un solo paso.


Así es como lo hago en el proyecto de mi sitio web. Tenga en cuenta que esto se copiará a una carpeta; Si desea publicar a través de FTB, WebDav o SSH, debe usar la tarea Exec lugar de la tarea Copy y especificar una herramienta de línea de comandos que pueda implementar los archivos sobre el protocolo deseado.

Además, no puede editar la tarea AfterBuild desde la configuración del proyecto en el IDE de VS. Debe abrirlo en el Bloc de notas o en su editor de texto / XML favorito. (Incluso podría usar VS, si cierra la solución y la obliga a abrir el archivo con el editor XML :-))

También hay un objetivo de compilación que invoca el AspNetCompiler , que actualmente tengo desactivado, pero se puede activar fácilmente a través del valor de la propiedad MvcBuildViews .

<PropertyGroup> <MvcBuildViews>false</MvcBuildViews> <DropPath>../../drop/</DropPath> </PropertyGroup> <Target Name="AfterBuildCompiler" Condition="''$(MvcBuildViews)''==''true''"> <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" /> </Target> <Target Name="AfterBuild" DependsOnTargets="AfterBuildCompiler"> <ConvertToAbsolutePath Paths="$(DropPath)"> <Output TaskParameter="AbsolutePaths" ItemName="FullDropPath" /> </ConvertToAbsolutePath> <Message Importance="High" Text="Binplacing -&gt; @(FullDropPath)" /> <ItemGroup> <Binaries Include="$(OutputPath)**/*.*" /> </ItemGroup> <Copy SkipUnchangedFiles="True" SourceFiles="@(Compile)" DestinationFiles="@(Compile->''$(DropPath)%(Identity)'')" /> <Copy SkipUnchangedFiles="True" SourceFiles="@(Content)" DestinationFiles="@(Content->''$(DropPath)%(Identity)'')" /> <Copy SkipUnchangedFiles="True" SourceFiles="@(EntityDeploy)" DestinationFiles="@(EntityDeploy->''$(DropPath)%(Identity)'')" /> <Copy SkipUnchangedFiles="True" SourceFiles="@(Binaries)" DestinationFiles="@(Binaries->''$(DropPath)%(Identity)'')" /> </Target>


La forma más sencilla de automatizar la funcionalidad incluida en la acción de "publicación" de Visual Studio disponible en el menú Generar es usar el proyecto de implementación web . También hay uno para el VS2005. Básicamente, es un proyecto adicional que agrega a su solución que se enfocará en su proyecto web y, cuando se genere, publicará su proyecto web como parte del proceso de construcción. Hace que sea muy sencillo crear un sitio automáticamente como parte de una compilación sin tener que joder con MSBuild (aunque MSBuild no es tan difícil).