Compartir a través de


Tutorial: Publicación de una aplicación de consola de .NET

En este tutorial se muestra cómo publicar una aplicación de consola para que otros usuarios puedan ejecutarla. La publicación crea el conjunto de archivos necesarios para ejecutar una aplicación. Para implementar los archivos, cópielos en la máquina de destino.

Prerrequisitos

Publicación de la aplicación

  1. Inicie Visual Studio.

  2. Abra el proyecto HelloWorld que creó en Crear una aplicación de consola de .NET.

  3. Asegúrese de que Visual Studio use la configuración de compilación Release. Si es necesario, cambie la configuración de compilación en la barra de herramientas de Depurar a Versión.

    Barra de herramientas de Visual Studio con la compilación de lanzamiento seleccionada.

  4. Haga clic con el botón derecho en el proyecto HelloWorld (no en la solución HelloWorld) y seleccione Publicar en el menú.

    Menú contextual de publicación de Visual Studio.

  5. En la pestaña Destino de la página Publicar, seleccione Carpeta y luego Siguiente.

    Seleccione un objetivo de publicación en Visual Studio.

  6. En la pestaña Destino específico de la página Publicar, seleccione Carpeta y luego Siguiente.

    Seleccione el destino específico de publicación en Visual Studio.

  7. En la pestaña Ubicación de la página Publicar, seleccione Finalizar.

    Página de Publicación de Visual Studio, pestaña Ubicación.

  8. En la página de Progreso de creación del perfil de publicación, seleccione Cerrar.

  9. En la pestaña Publicar de la ventana Publicar, seleccione Publicar.

    Visual Studio Publish window.

  1. Inicie Visual Studio Code.

  2. Abra la carpeta del proyecto HelloWorld que creó en Crear una aplicación de consola de .NET.

  3. Elija VerTerminal en el menú principal.

    El terminal se abre en la carpeta HelloWorld.

  4. Ejecute el siguiente comando:

    dotnet publish
    

    La configuración de compilación predeterminada es release, que es adecuada para un sitio implementado que se ejecuta en producción. La salida de la configuración de compilación Versión tiene muy poca información de depuración simbólica y está totalmente optimizada.

    La salida del comando es similar al ejemplo siguiente:

    Restore complete (1.1s)
      HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\
    
    Build succeeded in 10.3s
    
  1. Abra el GitHub Codespace que creó en Crear una aplicación de consola de .NET.

  2. Agregue la siguiente línea de código a la parte superior de HelloWorld.cs:

    #:property PublishAot=false
    

    Esta directiva de propiedad deshabilita la compilación nativa de antemano (AOT) y la aplicación usará el compilador Just-In-Time (JIT) estándar en tiempo de ejecución. La salida publicada dependerá del marco de trabajo.

  3. En el terminal, asegúrese de que se encuentra en la carpeta tutoriales .

  4. Ejecute el siguiente comando:

    dotnet publish HelloWorld.cs
    

    El comando crea un archivo ejecutable independiente.

    La salida del comando es similar al ejemplo siguiente:

    Restore complete (0.5s)
      HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\
    
    Build succeeded in 5.1s
    

Inspección de los archivos

De forma predeterminada, el proceso de publicación crea una implementación dependiente del marco, que es un tipo de implementación donde la aplicación publicada se ejecuta en un equipo que tiene instalado el entorno de ejecución de .NET. Los usuarios pueden ejecutar la aplicación publicada haciendo doble clic en el archivo ejecutable o emitiendo el comando desde un símbolo del sistema.

En los pasos siguientes, examinará los archivos creados por el proceso de publicación.

  1. En Explorador de soluciones, seleccione Show All Files.

    Explorador de soluciones opción mostrar todos los archivos.

  2. En la carpeta del proyecto, expanda bin/Release/{net}/publish. (Donde {net} es la carpeta de la plataforma de destino, como net10.0).

    Explorador de soluciones mostrando archivos publicados.

    Como se muestra en la imagen, la salida publicada incluye los siguientes archivos:

    • HelloWorld.deps.json

      Este es el archivo de dependencias en tiempo de ejecución de la aplicación. Define los componentes de .NET y las bibliotecas (incluida la biblioteca de vínculos dinámicos que contiene la aplicación) necesarias para ejecutar la aplicación. Para obtener más información, consulte Archivos de configuración en tiempo de ejecución.

    • HelloWorld.dll

      Esta es la versión de implementación dependiente del marco de la aplicación. Para ejecutar esta biblioteca de vínculos dinámicos, ingrese en una ventana de comandos. Este método de ejecución de la aplicación funciona en cualquier plataforma que tenga instalado el entorno de ejecución de .NET.

    • HelloWorld.exe

      Esta es la versión del ejecutable dependiente del marco de la aplicación. Para ejecutarlo, introduzca en una línea de comandos. El archivo es específico del sistema operativo.

    • HelloWorld.pdb (opcional para la implementación)

      Este es el archivo de símbolos de depuración. No es necesario implementar este archivo junto con la aplicación, aunque debe guardarlo en caso de que necesite depurar la versión publicada de la aplicación.

    • HelloWorld.runtimeconfig.json

      Este es el archivo de configuración en tiempo de ejecución de la aplicación. Identifica la versión de .NET en la que se creó la aplicación para ejecutarse. También puede agregarle opciones de configuración. Para obtener más información, consulte .NET opciones de configuración en tiempo de ejecución.

De forma predeterminada, el proceso de publicación crea una implementación dependiente del marco, que es un tipo de implementación donde la aplicación publicada se ejecuta en un equipo que tiene instalado el entorno de ejecución de .NET. Para ejecutar la aplicación publicada, puede usar el archivo ejecutable o ejecutar el comando desde un símbolo del sistema.

En los pasos siguientes, examinará los archivos creados por el proceso de publicación.

  1. Seleccione Explorador en la barra de navegación izquierda.

  2. Expanda bin/Release/net10.0/publish.

    Explorer que muestra los archivos publicados

    Como se muestra en la imagen, la salida publicada incluye los siguientes archivos:

    • HelloWorld.deps.json

      Este es el archivo de dependencias en tiempo de ejecución de la aplicación. Define los componentes de .NET y las bibliotecas (incluida la biblioteca de vínculos dinámicos que contiene la aplicación) necesarias para ejecutar la aplicación. Para obtener más información, consulte Archivos de configuración en tiempo de ejecución.

    • HelloWorld.dll

      Esta es la versión de implementación dependiente del marco de la aplicación. Para ejecutar esta biblioteca de vínculos dinámicos, escriba en un terminal. Este método de ejecución de la aplicación funciona en cualquier plataforma que tenga instalado el entorno de ejecución de .NET.

    • HelloWorld.exe (HelloWorld en Linux o macOS).

      Esta es la versión del ejecutable dependiente del marco de la aplicación. El archivo es específico del sistema operativo.

    • HelloWorld.pdb (opcional para la implementación)

      Este es el archivo de símbolos de depuración. No es necesario implementar este archivo junto con la aplicación, aunque debe guardarlo en caso de que necesite depurar la versión publicada de la aplicación.

    • HelloWorld.runtimeconfig.json

      Este es el archivo de configuración en tiempo de ejecución de la aplicación. Identifica la versión de .NET en la que se creó la aplicación para ejecutarse. También puede agregarle opciones de configuración. Para obtener más información, consulte .NET opciones de configuración en tiempo de ejecución.

Para una aplicación de archivo único, el proceso de publicación crea un directorio de artefactos con un archivo de ensamblado compilado. La aplicación publicada se puede ejecutar mediante el comando .

En los pasos siguientes, examinará los archivos creados por el proceso de publicación.

  1. Seleccione Explorador en la barra de navegación izquierda.

  2. Expanda artefactos/HelloWorld.

    Explorer que muestra los archivos publicados

    Como se muestra en la imagen, la salida publicada incluye los siguientes archivos:

    • HelloWorld

      Esta es la versión del ejecutable dependiente del marco de la aplicación. El archivo es específico del sistema operativo. Codespaces se ejecuta en Linux, por lo que se trata de un ejecutable de Linux.

    • HelloWorld.deps.json

      Este es el archivo de dependencias en tiempo de ejecución de la aplicación. Define los componentes de .NET y las bibliotecas (incluida la biblioteca de vínculos dinámicos que contiene la aplicación) necesarias para ejecutar la aplicación. Para obtener más información, consulte Archivos de configuración en tiempo de ejecución.

    • HelloWorld.dll

      Esta es la versión de implementación dependiente del marco de la aplicación. Para ejecutar esta biblioteca de vínculos dinámicos, escriba en un terminal. Este método de ejecución de la aplicación funciona en cualquier plataforma que tenga instalado el entorno de ejecución de .NET.

    • HelloWorld.pdb (opcional para la implementación)

      Este es el archivo de símbolos de depuración. No es necesario implementar este archivo junto con la aplicación, aunque debe guardarlo en caso de que necesite depurar la versión publicada de la aplicación.

    • HelloWorld.runtimeconfig.json

      Este es el archivo de configuración en tiempo de ejecución de la aplicación. Identifica la versión de .NET en la que se creó la aplicación para ejecutarse. También puede agregarle opciones de configuración. Para obtener más información, consulte .NET opciones de configuración en tiempo de ejecución.

    Haga clic con el botón derecho y seleccione Descargar... para descargar archivos de Codespaces en el equipo local.

Ejecución de la aplicación publicada

  1. En Explorador de soluciones, haga clic con el botón derecho en la carpeta publish y seleccione Copy Full Path.

  2. Abra un símbolo del sistema y vaya a la carpeta Publicar. Para ello, escriba y luego pegue la ruta de acceso completa. Por ejemplo:

    cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\
    
  3. Ejecute la aplicación con el archivo ejecutable:

    1. Introduzca y presione . Luego, ingrese.

    2. Escriba un nombre en respuesta a las indicaciones y presione cualquier tecla para salir.

  4. Ejecute la aplicación mediante el comando :

    1. Introduzca y presione . Luego, ingrese.

    2. Escriba un nombre en respuesta a las indicaciones y presione cualquier tecla para salir.

  1. En el Explorador, haga clic con el botón derecho en la carpeta publish (o presione Ctrl y haga clic en macOS) y seleccione Abrir en terminal integrado.

    menú contextual de Menú contextual en el que se muestra la sección Abrir en terminal

  2. En Windows o Linux, ejecute la aplicación mediante el archivo ejecutable.

    1. En Windows, escriba .\HelloWorld.exe y presione Entrar.

    2. En Linux, escriba y presione Entrar.

    3. Escriba un nombre en respuesta a la indicación y presione Intro para salir.

  3. En cualquier plataforma, ejecute la aplicación mediante el comando :

    1. Introduzca y presione . Luego, ingrese.

    2. Escriba un nombre en respuesta a la indicación y presione Intro para salir.

  1. En el Explorador, haga clic con el botón derecho en la carpeta artifacts/HelloWorld y seleccione Abrir en terminal integrado.

  2. Ejecute la aplicación mediante el ejecutable. Escriba y luego presione Entrar.

  3. Escriba un nombre en respuesta a la indicación y presione Intro para salir.

Recursos adicionales

Limpieza de recursos

GitHub elimina automáticamente codespace después de 30 días de inactividad. Si tiene previsto explorar más tutoriales en esta serie, puede dejar su Codespace disponible. Si está listo para ir al sitio .NET para descargar el .NET SDK, puede eliminar Codespace. Para eliminar Codespace, abra una ventana del explorador y vaya a Codespaces. Ves una lista de tus espacios de código en la ventana. Seleccione los tres puntos () de la entrada del espacio de código del tutorial de aprendizaje. A continuación, seleccione "Eliminar".

Pasos siguientes

En este tutorial, ha publicado una aplicación de consola. En el siguiente tutorial, creará una biblioteca de clases.