2008-09-07 13 views
19

Estoy tratando de publicar una aplicación web Asp.net MVC localmente usando NAnt y MSBuild. Esto es lo que estoy usando para mi objetivo NAnt;¿Cómo publico una aplicación web Asp.NET usando MSBuild?

<target name="publish-artifacts-to-build"> 
    <msbuild project="my-solution.sln" target="Publish"> 
     <property name="Configuration" value="debug" /> 
     <property name="OutDir" value="builds\" /> 
     <arg line="/m:2 /tv:3.5" /> 
    </msbuild> 
</target> 

y todo lo que recibo es esto como una respuesta;

[msbuild]   Skipping unpublishable project. 

¿Es posible publicar aplicaciones web a través de la línea de comandos de esta manera?

Respuesta

21

El objetivo "Publicar" que está intentando invocar es para la implementación de "OneClick", no para publicar un sitio web ... Es por eso que está recibiendo el mensaje aparentemente bizarro. Desea utilizar la tarea AspNetCompiler, en lugar de la tarea MSBuild. Consulte http://msdn2.microsoft.com/en-us/library/ms164291.aspx para obtener más información sobre esta tarea. Su "PublishDir" correspondería a la propiedad TargetPath de la tarea.

Source

14

me ocurrió con esa solución, funciona muy bien para mí:

msbuild /t:ResolveReferences;_WPPCopyWebApplication /p:BuildingProject=true;OutDir=C:\Temp\buidl\ Test.csproj 

ingrediente secreto es el objetivo _WPPCopyWebApplication.

+0

¿Dónde está _WPPCopyWebApplication? Tengo VS 2008 y vbproj. – Kiquenet

+1

Creo que no funcionará para 2008 :(... este objetivo se define aquí: "C: \ Archivos de programa \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets" –

+1

Esta respuesta funcionó para en VS 2010. Estoy utilizando un archivo por lotes que llama a MSBuild. La tarea de publicación estaba implementando el código, pero no estaba interpretando mi configuración (así que obtuve web.config, web.configuration.config en la ubicación de implementación, y no había realizado las transformaciones xdt). Cuando utilicé ResolveReferences; _WPPCopyWebApplication mis archivos publicados analizaban la configuración como se esperaba, lo que dio como resultado un web.config que tenía todas las transformaciones realizadas. –

Cuestiones relacionadas