Tutorial: Publicación de una aplicación de consola de .NET mediante Visual Studio Code
Artículo
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.
La CLI de .NET se usa para publicar la aplicación, por lo que puede seguir este tutorial con un editor de código distinto de Visual Studio Code si lo prefiere.
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:
Output
Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Determining projects to restore...
All projects are up-to-date for restore.
HelloWorld -> C:\Projects\HelloWorld\bin\Release\net8.0\HelloWorld.dll
HelloWorld -> C:\Projects\HelloWorld\bin\Release\net8.0\publish\
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. Para ejecutar la aplicación publicada, puede usar el archivo ejecutable o ejecutar el comando dotnet HelloWorld.dll desde un símbolo del sistema.
En los pasos siguientes, examinará los archivos creados por el proceso de publicación.
Seleccione Explorador en la barra de navegación izquierda.
Ampliar bin/Release/net8.0/publicar.
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 dotnet HelloWorld.dll 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.
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 Opciones de configuración de entornos de ejecución de .NET.
Ejecución de la aplicación publicada
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
En Windows o Linux, ejecute la aplicación mediante el ejecutable.
En Windows, escriba .\HelloWorld.exe y presione Entrar.
En Linux, escriba ./HelloWorld y presione Entrar.
Escriba un nombre en respuesta a la indicación y presione Intro para salir.
En cualquier plataforma, ejecute la aplicación mediante el comando dotnet:
Introduzca dotnet HelloWorld.dll y presione . Luego, ingrese.
Escriba un nombre en respuesta al indicador y presione Intro para salir.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.