Cómo Publicar una Aplicación Web ASP.NET con Éxito Usando MSBuild

Publicar una aplicación web ASP.NET a veces puede resultar abrumador, especialmente cuando tus intentos llevan a mensajes de error confusos. Si has estado intentando publicar tu aplicación ASP.NET MVC localmente usando MSBuild y te has encontrado con el temido mensaje: “Saltando proyecto no publicable,” ¡no te preocupes! Este blog te guiará a través del proceso correcto de publicación de tu aplicación y asegurará que tu implementación sea fluida y eficiente.

Entendiendo el Error

Cuando intentas ejecutar el siguiente objetivo de NAnt:

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

el mensaje de error “Saltando proyecto no publicable.” surge porque estás invocando un objetivo que está destinado para un propósito diferente. El objetivo Publish que estás tratando de usar está específicamente diseñado para implementación OneClick, y no para publicar un sitio web directamente.

El Enfoque Correcto para Publicar tu Aplicación ASP.NET

Para publicar con éxito tu aplicación web ASP.NET, considera usar la tarea AspNetCompiler en lugar de la tarea MSBuild. Esta tarea es más adecuada para compilar tu aplicación ASP.NET en un formato desplegable.

Pasos para Publicar usando AspNetCompiler

Aquí tienes cómo configurar AspNetCompiler:

  1. Crea un nuevo objetivo de NAnt para la Compilación de ASP.NET:

    Actualiza tu objetivo NAnt para usar AspNetCompiler de la siguiente manera:

    <target name="publish-artifacts-to-build">
        <aspnetcompiler 
            configuration="debug" 
            targetedframework="4.0" 
            virtualpath="/" 
            physicalpath="ruta\a\tu\webapp" 
            outputpath="builds\" 
            debug="true">
        </aspnetcompiler>
    </target>
    
    • configuration: Establece esta propiedad en debug o release según tus necesidades.
    • physicalpath: Proporciona la ruta a tu directorio de aplicación web.
    • outputpath: Aquí es donde se almacenarán los archivos compilados.
  2. Ajusta tu Entorno:

    Asegúrate de que tu entorno esté configurado para soportar la publicación de aplicaciones web ASP.NET. Esto incluye asegurarte de que las versiones de tu SDK sean correctas y que todas las dependencias necesarias estén instaladas.

  3. Ejecuta el Comando de Despliegue:

    Con el objetivo de NAnt configurado correctamente, ejecuta tu compilación. Esto compilará la aplicación ASP.NET y la exportará a tu directorio especificado.

Recursos Adicionales

Para obtener información más detallada sobre la tarea AspNetCompiler, consulta la documentación oficial en MSDN. Esta página proporciona información sobre las propiedades y cómo utilizarlas de manera efectiva para despliegues más complejos.

Conclusión

Publicar una aplicación web ASP.NET se puede lograr sin encontrar los errores comunes. Al usar la tarea correcta— en este caso, AspNetCompiler— garantizarás que tu aplicación esté compilada correctamente y lista para su despliegue. Si sigues el enfoque estructurado que se detalla en este blog, experimentarás un proceso de despliegue sin inconvenientes.

¡Involúcrate con tu entorno de desarrollo de manera inteligente y evita dolores de cabeza en el despliegue en el futuro!