Tutorial: Creación de una aplicación de consola de .NET con Visual Studio Code
En este tutorial se muestra cómo crear y ejecutar una aplicación de consola de .NET mediante Visual Studio Code y la CLI de .NET. Las tareas de proyecto, como crear, compilar y ejecutar un proyecto, se realizan mediante la CLI de .NET. Puede seguir este tutorial con un editor de código diferente y ejecutar comandos en un terminal si lo prefiere.
Requisitos previos
Visual Studio Code con la extensión de C# instalada.
Si tiene instalada la extensión del Kit de desarrollo de C#, desinstálela o deshabilítela. Esta serie de tutoriales no la usa.
Para saber cómo instalar extensiones en Visual Studio Code, vea el Marketplace de extensiones de VS Code.
El SDK de .NET 8.
Creación de la aplicación
Cree un proyecto de aplicación de consola de .NET denominado "HelloWorld".
Inicie Visual Studio Code.
Seleccione Archivo>Abrir carpeta (Archivo>Abrir... en macOS) en el menú principal.
En el cuadro de diálogo Abrir carpeta, cree una carpeta HelloWorld y selecciónela. A continuación, haga clic en Seleccionar carpeta (Abrir en macOS).
De forma predeterminada, el nombre de la carpeta se convierte en el nombre del proyecto y del espacio de nombres. Más adelante en el tutorial, agregará código que supone que el espacio de nombres del proyecto es
HelloWorld
.En el cuadro de diálogo ¿Confía en los autores de los archivos de esta carpeta? , seleccione Yes, I trust the authors (Sí, confío en los autores). Puede confiar en los creadores, ya que esta carpeta solo tiene archivos generados por .NET y que usted ha agregado o modificado.
Para abrir el Terminal en Visual Studio Code, seleccione Ver>Terminal en el menú principal.
Se abre el Terminal con el símbolo del sistema en la carpeta HelloWorld.
En el Terminal, escriba este comando:
dotnet new console --framework net8.0 --use-program-main
Abra el archivo Program.cs para ver la aplicación sencilla creada por la plantilla:
namespace HelloWorld; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } }
La primera vez que abre un archivo .cs, Visual Studio Code le pide que agregue los recursos que faltan para compilar y depurar la aplicación. Seleccione Sí; Visual Studio Code crea una carpeta .vscode con los archivos launch.json y tasks.json.
Nota
Si no recibe el mensaje de confirmación o si lo descarta por accidente sin seleccionar Sí, siga estos pasos para crear launch.json y tasks.json:
- Seleccione Ejecutar>Agregar configuración en el menú.
- Seleccione .NET 5+ y .NET Core en el mensaje Seleccionar entorno.
El código define una clase,
Program
, con un solo método,Main
, que toma una matriz de String como argumento.Main
es el punto de entrada de la aplicación, el método que se llama automáticamente mediante el tiempo de ejecución cuando inicia la aplicación. Los argumentos de línea de comandos proporcionados cuando se inicia la aplicación están disponibles en la matriz args. El código deMain
llama al método Console.WriteLine(String) para mostrar un mensaje en la ventana de la consola.C# tiene una característica denominada instrucciones de nivel superior que permite omitir la clase
Program
y el métodoMain
. Este tutorial no usa esta característica. Si se usa en los programas es una cuestión de preferencia de estilo. En el comandodotnet new
que ha creado el proyecto, la opción--use-program-main
ha impedido que se usaran instrucciones de nivel superior.
Ejecutar la aplicación
Ejecute este comando en el Terminal:
dotnet run
El programa muestra "Hola mundo" y finaliza.
Mejora de la aplicación
Mejore la aplicación para pedir su nombre al usuario y mostrarlo con la fecha y la hora.
Abra Program.cs.
Reemplace el contenido del método
Main
en Program.cs, que es la línea que llama aConsole.WriteLine
, por este código:Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!"); Console.Write($"{Environment.NewLine}Press any key to exit..."); Console.ReadKey(true);
Este código muestra un mensaje en la ventana de la consola y espera a que el usuario escriba una cadena y, luego, presione Entrar. Almacena esta cadena en una variable denominada
name
. También recupera el valor de la propiedad DateTime.Now, que contiene la hora local actual, y lo asigna a una variable denominadacurrentDate
. Asimismo, muestra estos valores en la ventana de la consola. Por último, muestra un mensaje en la ventana de la consola y llama al método Console.ReadKey(Boolean) para esperar a la entrada del usuario.NewLine es una manera independiente de la plataforma y del lenguaje de representar un salto de línea. Lo mismo sucede con
\n
en C#.El signo de dólar (
$
) delante de una cadena permite colocar expresiones como nombres de variable entre llaves en la cadena. El valor de la expresión se inserta en la cadena en lugar de la expresión. Esta sintaxis se conoce como cadenas interpoladas.Guarde los cambios.
Importante
En Visual Studio Code, tiene que guardar los cambios explícitamente. A diferencia de Visual Studio, los cambios de los archivos no se guardan automáticamente al compilar y ejecutar una aplicación.
Ejecute el programa otra vez:
dotnet run
Responda a la solicitud escribiendo un nombre y presionando la tecla Entrar.
Presione cualquier tecla para salir de la aplicación.
Recursos adicionales
- Setting up Visual Studio Code (Configuración de Visual Studio Code)
Pasos siguientes
En este tutorial, ha creado una aplicación de consola de .NET. En el siguiente tutorial, depurará la aplicación.
En este tutorial se muestra cómo crear y ejecutar una aplicación de consola de .NET mediante Visual Studio Code y la CLI de .NET. Las tareas de proyecto, como crear, compilar y ejecutar un proyecto, se realizan mediante la CLI de .NET. Puede seguir este tutorial con un editor de código diferente y ejecutar comandos en un terminal si lo prefiere.
Requisitos previos
- Visual Studio Code con la extensión de C# instalada. Para saber cómo instalar extensiones en Visual Studio Code, vea el Marketplace de extensiones de VS Code.
- SDK de .NET 7.
Creación de la aplicación
Cree un proyecto de aplicación de consola de .NET denominado "HelloWorld".
Inicie Visual Studio Code.
Seleccione Archivo>Abrir carpeta (Archivo>Abrir... en macOS) en el menú principal.
En el cuadro de diálogo Abrir carpeta, cree una carpeta HelloWorld y selecciónela. A continuación, haga clic en Seleccionar carpeta (Abrir en macOS).
De forma predeterminada, el nombre de la carpeta se convierte en el nombre del proyecto y del espacio de nombres. Más adelante en el tutorial, agregará código que supone que el espacio de nombres del proyecto es
HelloWorld
.En el cuadro de diálogo ¿Confía en los autores de los archivos de esta carpeta? , seleccione Yes, I trust the authors (Sí, confío en los autores). Puede confiar en los creadores, ya que esta carpeta solo tiene archivos generados por .NET y que usted ha agregado o modificado.
Para abrir el Terminal en Visual Studio Code, seleccione Ver>Terminal en el menú principal.
Se abre el Terminal con el símbolo del sistema en la carpeta HelloWorld.
En el Terminal, escriba este comando:
dotnet new console --framework net7.0
La plantilla de proyecto crea una aplicación sencilla que muestra "Hola mundo" en la ventana de consola al llamar al método Console.WriteLine(String) en Program.cs.
Console.WriteLine("Hello, World!");
Reemplace el contenido de Program.cs por el código siguiente:
namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } } }
La primera vez que edita un archivo .cs, Visual Studio Code le pide que agregue los recursos que faltan para compilar y depurar la aplicación. Seleccione Sí; Visual Studio Code crea una carpeta .vscode con los archivos launch.json y tasks.json.
Nota
Si no recibe el mensaje de confirmación o si lo descarta por accidente sin seleccionar Sí, siga estos pasos para crear launch.json y tasks.json:
- Seleccione Ejecutar>Agregar configuración en el menú.
- Seleccione .NET 5+ y .NET Core en el mensaje Seleccionar entorno.
El código define una clase,
Program
, con un solo método,Main
, que toma una matriz de String como argumento.Main
es el punto de entrada de la aplicación, el método que se llama automáticamente mediante el tiempo de ejecución cuando inicia la aplicación. Los argumentos de línea de comandos proporcionados cuando se inicia la aplicación están disponibles en la matriz args.En la versión más reciente de C#, una nueva característica denominada instrucciones de nivel superior permite omitir la clase
Program
y el métodoMain
. La mayoría de los programas de C# existentes no usan instrucciones de nivel superior, por lo que en este tutorial no se usa esta nueva característica. Pero está disponible en C# 10 y si se usa en los programas es una cuestión de preferencia de estilo.
Ejecutar la aplicación
Ejecute este comando en el Terminal:
dotnet run
El programa muestra "Hola mundo" y finaliza.
Mejora de la aplicación
Mejore la aplicación para pedir su nombre al usuario y mostrarlo con la fecha y la hora.
Abra Program.cs.
Reemplace el contenido del método
Main
en Program.cs, que es la línea que llama aConsole.WriteLine
, por este código:Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!"); Console.Write($"{Environment.NewLine}Press any key to exit..."); Console.ReadKey(true);
Este código muestra un mensaje en la ventana de la consola y espera a que el usuario escriba una cadena y, luego, presione Entrar. Almacena esta cadena en una variable denominada
name
. También recupera el valor de la propiedad DateTime.Now, que contiene la hora local actual, y lo asigna a una variable denominadacurrentDate
. Asimismo, muestra estos valores en la ventana de la consola. Por último, muestra un mensaje en la ventana de la consola y llama al método Console.ReadKey(Boolean) para esperar a la entrada del usuario.NewLine es una manera independiente de la plataforma y del lenguaje de representar un salto de línea. Las alternativas son
\n
en C# yvbCrLf
en Visual Basic.El signo de dólar (
$
) delante de una cadena permite colocar expresiones como nombres de variable entre llaves en la cadena. El valor de la expresión se inserta en la cadena en lugar de la expresión. Esta sintaxis se conoce como cadenas interpoladas.Guarde los cambios.
Importante
En Visual Studio Code, tiene que guardar los cambios explícitamente. A diferencia de Visual Studio, los cambios de los archivos no se guardan automáticamente al compilar y ejecutar una aplicación.
Ejecute el programa otra vez:
dotnet run
Responda a la solicitud escribiendo un nombre y presionando la tecla Entrar.
Presione cualquier tecla para salir de la aplicación.
Recursos adicionales
- Setting up Visual Studio Code (Configuración de Visual Studio Code)
Pasos siguientes
En este tutorial, ha creado una aplicación de consola de .NET. En el siguiente tutorial, depurará la aplicación.
En este tutorial se muestra cómo crear y ejecutar una aplicación de consola de .NET mediante Visual Studio Code y la CLI de .NET. Las tareas de proyecto, como crear, compilar y ejecutar un proyecto, se realizan mediante la CLI de .NET. Puede seguir este tutorial con un editor de código diferente y ejecutar comandos en un terminal si lo prefiere.
Requisitos previos
- Visual Studio Code con la extensión de C# instalada. Para saber cómo instalar extensiones en Visual Studio Code, vea el Marketplace de extensiones de VS Code.
- El SDK de .NET 6.
Creación de la aplicación
Cree un proyecto de aplicación de consola de .NET denominado "HelloWorld".
Inicie Visual Studio Code.
Seleccione Archivo>Abrir carpeta (Archivo>Abrir... en macOS) en el menú principal.
En el cuadro de diálogo Abrir carpeta, cree una carpeta HelloWorld y selecciónela. A continuación, haga clic en Seleccionar carpeta (Abrir en macOS).
De forma predeterminada, el nombre de la carpeta se convierte en el nombre del proyecto y del espacio de nombres. Más adelante en el tutorial, agregará código que supone que el espacio de nombres del proyecto es
HelloWorld
.En el cuadro de diálogo ¿Confía en los autores de los archivos de esta carpeta? , seleccione Yes, I trust the authors (Sí, confío en los autores). Puede confiar en los creadores, ya que esta carpeta solo tiene archivos generados por .NET y que usted ha agregado o modificado.
Para abrir el Terminal en Visual Studio Code, seleccione Ver>Terminal en el menú principal.
Se abre el Terminal con el símbolo del sistema en la carpeta HelloWorld.
En el Terminal, escriba este comando:
dotnet new console --framework net6.0 --use-program-main
La plantilla de proyecto crea una aplicación sencilla que muestra "Hola mundo" en la ventana de consola al llamar al método Console.WriteLine(String) en Program.cs.
namespace HelloWorld; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } }
La primera vez que edita un archivo .cs, Visual Studio Code le pide que agregue los recursos que faltan para compilar y depurar la aplicación. Seleccione Sí; Visual Studio Code crea una carpeta .vscode con los archivos launch.json y tasks.json.
Nota
Si no recibe el mensaje de confirmación o si lo descarta por accidente sin seleccionar Sí, siga estos pasos para crear launch.json y tasks.json:
- Seleccione Ejecutar>Agregar configuración en el menú.
- Seleccione .NET 5+ y .NET Core en el mensaje Seleccionar entorno.
El código define una clase,
Program
, con un solo método,Main
, que toma una matriz de String como argumento.Main
es el punto de entrada de la aplicación, el método que se llama automáticamente mediante el tiempo de ejecución cuando inicia la aplicación. Los argumentos de línea de comandos proporcionados cuando se inicia la aplicación están disponibles en la matriz args.En la versión más reciente de C#, una nueva característica denominada instrucciones de nivel superior permite omitir la clase
Program
y el métodoMain
. La mayoría de los programas de C# existentes no usan instrucciones de nivel superior, por lo que en este tutorial no se usa esta nueva característica. Pero está disponible en C# 10 y si se usa en los programas es una cuestión de preferencia de estilo. En el comandodotnet new
que usó para crear el proyecto, la opción--use-program-main
impidió que se usaran instrucciones de nivel superior.
Ejecutar la aplicación
Ejecute este comando en el Terminal:
dotnet run
El programa muestra "Hola mundo" y finaliza.
Mejora de la aplicación
Mejore la aplicación para pedir su nombre al usuario y mostrarlo con la fecha y la hora.
Abra Program.cs.
Reemplace el contenido del método
Main
en Program.cs, que es la línea que llama aConsole.WriteLine
, por este código:Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!"); Console.Write($"{Environment.NewLine}Press any key to exit..."); Console.ReadKey(true);
Este código muestra un mensaje en la ventana de la consola y espera a que el usuario escriba una cadena y, luego, presione Entrar. Almacena esta cadena en una variable denominada
name
. También recupera el valor de la propiedad DateTime.Now, que contiene la hora local actual, y lo asigna a una variable denominadacurrentDate
. Asimismo, muestra estos valores en la ventana de la consola. Por último, muestra un mensaje en la ventana de la consola y llama al método Console.ReadKey(Boolean) para esperar a la entrada del usuario.NewLine es una manera independiente de la plataforma y del lenguaje de representar un salto de línea. Las alternativas son
\n
en C# yvbCrLf
en Visual Basic.El signo de dólar (
$
) delante de una cadena permite colocar expresiones como nombres de variable entre llaves en la cadena. El valor de la expresión se inserta en la cadena en lugar de la expresión. Esta sintaxis se conoce como cadenas interpoladas.Guarde los cambios.
Importante
En Visual Studio Code, tiene que guardar los cambios explícitamente. A diferencia de Visual Studio, los cambios de los archivos no se guardan automáticamente al compilar y ejecutar una aplicación.
Ejecute el programa otra vez:
dotnet run
Responda a la solicitud escribiendo un nombre y presionando la tecla Entrar.
Presione cualquier tecla para salir de la aplicación.
Recursos adicionales
- Setting up Visual Studio Code (Configuración de Visual Studio Code)
Pasos siguientes
En este tutorial, ha creado una aplicación de consola de .NET. En el siguiente tutorial, depurará la aplicación.