0% encontró este documento útil (0 votos)
202 vistas

Tutorial C# Microsoft

Este documento proporciona una introducción a Visual Studio y C#. Explica cómo instalar Visual Studio y crear varios tipos de aplicaciones, incluidas aplicaciones de consola, web, UWP y WPF. También describe características clave de Visual Studio como IntelliSense, depuración, refactorización y limpieza de código que mejoran la productividad de los desarrolladores.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
202 vistas

Tutorial C# Microsoft

Este documento proporciona una introducción a Visual Studio y C#. Explica cómo instalar Visual Studio y crear varios tipos de aplicaciones, incluidas aplicaciones de consola, web, UWP y WPF. También describe características clave de Visual Studio como IntelliSense, depuración, refactorización y limpieza de código que mejoran la productividad de los desarrolladores.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 269

Contents

Tutoriales de C#
Información general
Acerca de Visual Studio
Acerca del editor de código
Acerca de los proyectos y las soluciones
Más características de Visual Studio
Cree una aplicación
Crear la primera aplicación de C#
creación de una aplicación de consola en C#
ampliación de una aplicación de consola en C#
Creación de una aplicación web
Creación de una aplicación UWP
Crear una aplicación WPF
Crear una aplicación de Windows Forms
Conocer Visual Studio
Ejecutar un programa
Abrir un proyecto desde un repositorio
Escribir y editar código
Compilar y generar
Depurar el código
Pruebas unitarias
Implementar el proyecto
Acceder a datos
IDE de Visual Studio | C#
11/11/2021 • 18 minutes to read

Un entorno de desarrollo integrado (IDE) es un programa con numerosas características que respalda muchos
aspectos del desarrollo de software. El IDE de Visual Studio es un panel de inicio creativo que se puede usar para
editar, depurar y compilar código y, después, publicar una aplicación. Aparte del editor y el depurador estándar
que proporcionan la mayoría de IDE, Visual Studio incluye compiladores, herramientas de finalización de código,
diseñadores gráficos y muchas más características para facilitar el proceso de desarrollo de software.
En la imagen anterior se muestra Visual Studio con un proyecto abierto con las ventanas principales y su
funcionalidad:
En la parte superior derecha del Explorador de soluciones, puede ver y administrar los archivos de código
y navegar por ellos. El Explorador de soluciones puede ayudar a organizar el código al agrupar los
archivos en soluciones y proyectos.
La ventana del editor central, donde es probable que pase la mayor parte del tiempo, muestra el
contenido del archivo. En ella, podrá editar código o diseñar una interfaz de usuario, como una ventana
con botones y cuadros de texto.
La ventana Resultados (parte inferior central) es donde Visual Studio envía notificaciones, como mensajes de
error y de depuración, advertencias del compilador, mensajes de estado de publicación, etc. Cada fuente del
mensaje tiene su propia pestaña.
En la parte inferior derecha de Git Changes (Cambios de Git), puede realizar el seguimiento de elementos de
trabajo y compartir código con otros usuarios mediante tecnologías de control de versiones, como Git y
GitHub.
Ediciones
Visual Studio está disponible para Windows y Mac. Visual Studio para Mac tiene muchas de las mismas
características que Visual Studio para Windows y está optimizado para el desarrollo de aplicaciones móviles y
multiplataforma. Este artículo se centra en la versión de Visual Studio para Windows.
Existen tres ediciones de Visual Studio: Community, Professional y Enterprise. Consulte Comparar las ediciones
de Visual Studio para obtener información sobre las características que se admiten en cada edición.

Características de productividad populares


Algunas características conocidas de Visual Studio que mejoran la productividad al desarrollar software
incluyen:
Subrayados ondulados y Acciones rápidas
Los subrayados ondulados son rayas con formas de onda debajo de las palabras que alertan de errores o
posibles problemas en el código a medida que se escribe. Estas pistas visuales le ayudan a corregir
problemas inmediatamente, sin esperar a detectar errores durante la compilación o el tiempo de
ejecución. Si mantiene el puntero sobre un subrayado rojo, verá más información sobre el error. También
puede aparecer una bombilla en el margen izquierdo que muestra acciones rápidas que puede realizar
para corregir el error.

Limpieza de código
Con solo el clic de un botón, puede dar formato al código y aplicar cualquier corrección de código
sugerida por la configuración del estilo del código, las convenciones de .editorconfig y los analizadores
de Roslyn. La limpieza de código , disponible actualmente solo para el código de C#, ayuda a solucionar
problemas con el código antes de que pase a revisión.

Limpieza de código
Con solo el clic de un botón, puede dar formato al código y aplicar cualquier corrección de código
sugerida por la configuración del estilo del código, las convenciones de .editorconfig y los analizadores
de Roslyn. La limpieza de código , disponible actualmente solo para el código de C#, ayuda a solucionar
problemas con el código antes de que pase a revisión.
Refactorización
La refactorización incluye operaciones como el cambio de nombre inteligente de variables, la extracción
de una o más líneas de código en un nuevo método y el cambio del orden de los parámetros de método.

IntelliSense
IntelliSense es un conjunto de características que muestran información sobre el código directamente en
el editor y, en algunos casos, escriben pequeños fragmentos de código automáticamente. Es como tener
documentación básica insertada en el editor, lo que evita tener que buscar información escrita en
cualquier otro lugar.
La siguiente ilustración muestra cómo IntelliSense muestra una lista de miembros de un tipo:
Las características de IntelliSense varían según el lenguaje. Para más información, vea IntelliSense para
C#, IntelliSense para Visual C++, IntelliSense para JavaScript e IntelliSense de Visual Basic.
Búsqueda de Visual Studio
Los menús, las opciones y las propiedades de Visual Studio pueden parecer abrumadores en ocasiones.
La búsqueda de Visual Studio, o Ctrl +Q , es una excelente manera de encontrar rápidamente las
características del IDE y el código en un solo lugar.

Para más información, vea Inicio rápido.


Para obtener información y sugerencias de productividad, vea Cómo usar la búsqueda de Visual Studio.

Para obtener información y sugerencias de productividad, vea Cómo usar la búsqueda de Visual Studio.
Live Share
Edite y depure en colaboración con otros usuarios en tiempo real, sin importar el tipo de aplicación o el
lenguaje de programación. Puede compartir el proyecto al instante y de forma segura. También puede
compartir sesiones de depuración, instancias de terminal, aplicaciones web de localhost, llamadas de voz,
etc.
Jerarquía de llamadas
En la ventana Jerarquía de llamadas se muestran los métodos que llaman a un método seleccionado.
Esta información puede ser útil si está pensando en cambiar o quitar el método, o si está intentando
realizar el seguimiento de un error.

CodeLens
CodeLens ayuda a buscar referencias al código, cambios en él, errores vinculados, elementos de trabajo,
revisiones de código y pruebas unitarias, sin salir del editor.

Ir a definición
La característica Ir a definición lleva directamente a la ubicación de una definición de tipo o función.
Ver la definición
En la ventana Ver la definición se muestra una definición de tipo o método sin abrir un archivo aparte.
Instalar Visual Studio
En esta sección, creará un proyecto sencillo para probar algunas de las cosas que puede hacer con Visual Studio.
Usará IntelliSense como ayuda para crear código, depurará una aplicación para ver el valor de una variable
durante la ejecución del programa y cambiará el tema de color.
Para empezar, descargue Visual Studio e instálelo en su sistema. El instalador modular le permite elegir e instalar
cargas de trabajo, que son grupos de características necesarias para el lenguaje de programación o la
plataforma que prefiera. Siga los pasos para crear un programa y no se olvide de seleccionar la carga de trabajo
Desarrollo multiplataforma de .NET Core durante la instalación.
Para empezar, descargue Visual Studio e instálelo en su sistema. El instalador modular le permite elegir e instalar
cargas de trabajo, que son grupos de características necesarias para el lenguaje de programación o la
plataforma que prefiera. Siga los pasos para crear un programa y no se olvide de seleccionar la carga de trabajo
Desarrollo multiplataforma de .NET Core durante la instalación.

Para empezar, descargue Visual Studio e instálelo en su sistema. En el instalador modular, elegirá e instalará
cargas de trabajo, que son grupos de características necesarias para los lenguajes de programación o las
plataformas que prefiera. Para usar los pasos siguientes para crear un programa, asegúrese de seleccionar la
carga de trabajo Desarrollo de escritorio de .NET durante la instalación.

Cuando se abre Visual Studio por primera vez, puede iniciar sesión con su cuenta de Microsoft o con su cuenta
de trabajo o educativa.

Creación de un programa
Profundicemos y creemos un programa sencillo.
1. Abra Visual Studio.
2. En la barra de menús, elija Archivo > Nuevo > Proyecto .
En el cuadro de diálogo Nuevo proyecto se muestran varias plantillas de proyecto. Una plantilla
contiene los archivos básicos y la configuración necesaria para un tipo de proyecto concreto.
3. Elija la categoría de plantilla .NET Core bajo Visual C# y, después, elija la plantilla Aplicación de
consola (.NET Core) . En el cuadro de texto Nombre , escriba HelloWorld y después haga clic en el
botón Aceptar .

NOTE
Si no ve la categoría .NET Core , debe instalar la carga de trabajo de Desarrollo multiplaforma de .NET Core .
Para ello, elija el vínculo Abrir el instalador de Visual Studio en el panel inferior izquierdo del cuadro de
diálogo Nuevo proyecto . Una vez que se abra el Instalador de Visual Studio, desplácese hacia abajo y seleccione
la carga de trabajo de desarrollo multiplataforma de .NET Core y luego Modificar .

Visual Studio crea el proyecto. Es una aplicación "Hola mundo" sencilla que llama al método
Console.WriteLine() para mostrar la cadena literal "¡Hola mundo!" en la ventana de la consola (salida del
programa).
En breve, debería ver algo parecido a la pantalla siguiente:

En la ventana del editor se muestra el código de C# de la aplicación, que ocupa la mayor parte del
espacio. Observe que el texto se colorea automáticamente para indicar diferentes partes del código,
como palabras clave y tipos. Además, líneas pequeñas, verticales y discontinuas en el código indican qué
llaves coinciden, y los números de línea sirven para ubicar código más adelante. Puede elegir el pequeño
signo menos de la casilla para contraer o expandir bloques de código. Esta característica de
esquematización de código le permite ocultar el código que no necesita, ayudando a minimizar el
desorden en la pantalla. Los archivos del proyecto se muestran en el lado derecho de una ventana
llamada Explorador de soluciones .

Hay otros menús y ventanas de herramientas disponibles, pero por ahora vamos a continuar.
4. Ahora, inicie la aplicación. Para ello, elija Iniciar sin depurar en el menú Depurar de la barra de menús.
También puede presionar Ctrl +F5 .

Visual Studio compila la aplicación y se abre una ventana de consola con el mensaje ¡Hola mundo! ¡Ya
tiene una aplicación en ejecución!

5. Para cerrar la ventana de consola, presione cualquier tecla del teclado.


6. Vamos a agregar más código a la aplicación. Agregue el siguiente código de C# antes de la línea que dice
Console.WriteLine("Hello World!"); :

Console.WriteLine("\nWhat is your name?");


var name = Console.ReadLine();

Este código muestra What is your name? en la ventana de la consola y espera a que el usuario escriba
algún texto seguido de la tecla Entrar .
7. Cambie la línea que indica Console.WriteLine("Hello World!"); por el código siguiente:

Console.WriteLine($"\nHello {name}!");

8. Vuelva a ejecutar la aplicación seleccionando Depurar > Iniciar sin depurar o presionando Ctrl +F5 .
Visual Studio recompila la aplicación y se abre una ventana de consola que le solicita su nombre.
9. Escriba su nombre en la ventana de consola y presione Entrar .
10. Presione cualquier tecla para cerrar la ventana de consola y detener la ejecución del programa.
1. Abra Visual Studio.
La ventana de inicio aparece con opciones para clonar un repositorio, abrir un proyecto reciente o crear
un proyecto.
2. Elija Crear un nuevo proyecto .

La ventana Crear un nuevo proyecto se abre y muestra varias plantillas de proyecto. Una plantilla
contiene los archivos básicos y la configuración necesarios para un tipo de proyecto concreto.
3. Para buscar la plantilla que quiere, escriba consola .net core en el cuadro de búsqueda. La lista de
plantillas disponibles se filtra automáticamente en función de las palabras clave que escribió. Puede filtrar
aún más los resultados de la plantilla eligiendo C# en la lista desplegable Todos los lenguajes ,
Windows en la lista Todas las plataformas y Consola en la lista Todos los tipos de proyecto .
Seleccione la plantilla Aplicación de consola y luego haga clic en Siguiente .
4. En la ventana Configure su nuevo proyecto , escriba HelloWorld en el cuadro Nombre del
proyecto y, si quiere, cambie la ubicación del directorio de los archivos del proyecto (la configuración
regional predeterminada es C:\Users\<name>\source\repos ) y luego haga clic en Siguiente .

5. En la ventana información adicional , compruebe que .NET Core 3.1 aparece en el menú desplegable
Plataforma de destino y luego haga clic en Crear .
Visual Studio crea el proyecto. Es una aplicación "Hola mundo" sencilla que llama al método
Console.WriteLine() para mostrar la cadena literal "¡Hola mundo!" en la ventana de la consola (salida del
programa).
En breve, debería ver algo parecido a la pantalla siguiente:

En la ventana del editor se muestra el código de C# de la aplicación, que ocupa la mayor parte del
espacio. Observe que el texto se colorea automáticamente para indicar diferentes partes del código,
como palabras clave y tipos. Además, líneas pequeñas, verticales y discontinuas en el código indican qué
llaves coinciden, y los números de línea sirven para ubicar código más adelante. Puede elegir el pequeño
signo menos de la casilla para contraer o expandir bloques de código. Esta característica de
esquematización de código le permite ocultar el código que no necesita, ayudando a minimizar el
desorden en la pantalla. Los archivos del proyecto se muestran en el lado derecho de una ventana
llamada Explorador de soluciones .
Hay otros menús y ventanas de herramientas disponibles, pero por ahora vamos a continuar.
6. Ahora, inicie la aplicación. Para ello, elija Iniciar sin depurar en el menú Depurar de la barra de menús.
También puede presionar Ctrl +F5 .

Visual Studio compila la aplicación y se abre una ventana de consola con el mensaje ¡Hola mundo! ¡Ya
tiene una aplicación en ejecución!

7. Para cerrar la ventana de consola, presione cualquier tecla del teclado.


8. Vamos a agregar más código a la aplicación. Agregue el siguiente código de C# antes de la línea que dice
Console.WriteLine("Hello World!"); :

Console.WriteLine("\nWhat is your name?");


var name = Console.ReadLine();

Este código muestra What is your name? en la ventana de la consola y espera a que el usuario escriba
algún texto seguido de la tecla Entrar .
9. Cambie la línea que indica Console.WriteLine("Hello World!"); por el código siguiente:

Console.WriteLine($"\nHello {name}!");

10. Vuelva a ejecutar la aplicación seleccionando Depurar > Iniciar sin depurar o presionando Ctrl +F5 .
Visual Studio recompila la aplicación y se abre una ventana de consola que le solicita su nombre.
11. Escriba su nombre en la ventana de consola y presione Entrar .

12. Presione cualquier tecla para cerrar la ventana de consola y detener la ejecución del programa.
1. Inicie Visual Studio. La ventana de inicio aparece con opciones para clonar un repositorio, abrir un
proyecto reciente o crear un proyecto.
2. Elija Crear un nuevo proyecto .
La ventana Crear un nuevo proyecto se abre y muestra varias plantillas de proyecto. Una plantilla
contiene los archivos básicos y la configuración necesarios para un tipo de proyecto concreto.
3. Para buscar una plantilla, puede escribir palabras clave en el cuadro de búsqueda. La lista de plantillas
disponibles se filtra por las palabras clave que escribió. Puede filtrar aún más los resultados de la plantilla
eligiendo C# en la lista desplegable Todos los lenguajes , Windows en la lista Todas las plataformas
y Consola en la lista Todos los tipos de proyecto .
Seleccione la plantilla Aplicación de consola y, luego, elija Siguiente .

4. En la ventana Configurar el nuevo proyecto , escriba HelloWorld en el cuadro Nombre del


proyecto . Opcionalmente, cambie la ubicación predeterminada del directorio del proyecto (C:\Usuarios\
<name>\origen\repositorios) y, luego, seleccione Siguiente .
5. En la ventana Información adicional , compruebe que .NET 6.0 aparece en el menú desplegable
Plataforma de destino y, luego, seleccione Crear .

Visual Studio crea el proyecto. El programa es una aplicación sencilla "Hola mundo" que llama al método
Console.WriteLine() para mostrar la cadena Hola mundo en una ventana de consola.
Los archivos del proyecto aparecen en el lado derecho del IDE de Visual Studio, en una ventana
denominada Explorador de soluciones . En la ventana Explorador de soluciones , seleccione el
archivo Program.cs . El código de C# de la aplicación se abre en la ventana central del editor, que ocupa
la mayoría del espacio.
El código se colorea automáticamente para indicar las diferentes partes, como palabras clave y tipos. Los
números de línea le ayudan a encontrar el código.
Las pequeñas líneas discontinuas verticales del código indican qué llaves coinciden entre sí. Puede elegir
también los pequeños cuadrados con los signos de menos o más para contraer o expandir los bloques de
código. Esta característica de esquematización del código le permite ocultar el código que no necesita, lo
que ayuda a minimizar el desorden en la pantalla.

Hay muchos otros menús y ventanas de herramientas disponibles.


6. Para iniciar la aplicación, elija Depurar > Iniciar sin depurar en el menú superior de Visual Studio.
También puede presionar Ctrl +F5 .
Visual Studio compila la aplicación y se abre una ventana de consola con el mensaje Hola mundo . ¡Ya
tiene una aplicación en ejecución!

7. Para cerrar la ventana de la consola presione cualquier tecla.


8. Vamos a agregar más código a la aplicación. Agregue el siguiente código de C# antes de la línea que dice
Console.WriteLine("Hello World!"); :

Console.WriteLine("\nWhat is your name?");


var name = Console.ReadLine();

Este código muestra What is your name? en la ventana de la consola y luego espera a que el usuario
escriba algún texto.
9. Cambie la línea que indica Console.WriteLine("Hello World!"); por la siguiente:

Console.WriteLine($"\nHello {name}!");

10. Vuelva a ejecutar la aplicación; para ello, seleccione Depurar > Iniciar sin depurar o presione Ctrl +F5 .
Visual Studio recompila la aplicación y se abre una ventana de consola que le solicita su nombre.
11. Escriba su nombre en la ventana de la consola y presione Entrar .

12. Presione cualquier tecla para cerrar la ventana de consola y detener la ejecución del programa.

Usar IntelliSense y la refactorización


Veamos un par de formas en las que la refactorización e IntelliSense pueden ayudar a crear código de forma
más eficaz.
Primero cambie el nombre de la variable name :
1. Haga doble clic en la variable name y escriba el nuevo nombre, username.
Aparece un cuadro alrededor de la variable y una bombilla en el margen.
2. Haga clic en el icono de bombilla para mostrar las Acciones rápidas disponibles. Seleccione Rename
'name' to 'username' (Cambiar "name" a "username").
Se cambia el nombre de la variable en el proyecto, que en nuestro caso es solo en dos lugares.

3. Ahora echemos un vistazo a IntelliSense. Por debajo de la línea que dice


Console.WriteLine($"\nHello {username}!"); , escriba DateTime now = DateTime. .

Los miembros de la clase DateTime se muestran en un cuadro. La descripción del miembro seleccionado
actualmente se muestra en un cuadro independiente.

4. Seleccione el miembro llamado Now , que es una propiedad de la clase; para ello, haga doble clic en él o
presione el tabulador . Complete la línea de código agregando un punto y coma al final:
DateTime now = DateTime.Now; .

5. Debajo de la línea, escriba las líneas de código siguientes:

int dayOfYear = now.DayOfYear;

Console.Write("Day of year: ");


Console.WriteLine(dayOfYear);
TIP
Console.Write se diferencia de Console.WriteLine en que no agrega un terminador de línea después de la
impresión. Esto significa que el siguiente fragmento de texto que se envía a la salida se imprimirá en la misma
línea. Puede mantener el puntero sobre cada uno de estos métodos del código para ver su descripción.

6. A continuación, se usará de nuevo la refactorización para que el código sea más conciso. Seleccione la
variable now en la línea DateTime now = DateTime.Now; . Un pequeño icono de destornillador aparece en
el margen de esa línea.
7. Seleccione el icono de destornillador para ver las sugerencias disponibles en Visual Studio. En este caso,
se muestra la refactorización Variable temporal en línea para quitar una línea de código sin cambiar el
comportamiento general del código.

8. Seleccione Variable temporal en línea para refactorizar el código.


9. Vuelva a ejecutar el programa presionando Ctrl +F5 . La salida tendrá un aspecto similar a este:
Depurar código
Cuando escriba código, debe ejecutarlo y probarlo para ver si hay errores. El sistema de depuración de Visual
Studio permite examinar el código por cada instrucción e inspeccionar las variables a medida que se avanza.
Puede establecer puntos de interrupción que detengan la ejecución del código en una línea determinada y
observar cómo cambia el valor de la variable a medida que se ejecuta el código.
Establezca un punto de interrupción para ver el valor de la variable username mientras el programa se está
ejecutando.
1. Establezca un punto de interrupción en la línea de código que indica
Console.WriteLine($"\nHello {username}!"); ; para ello, haga clic en el margen izquierdo, o interno, junto
a la línea. También puede seleccionar la línea de código y, después, presionar F9 .
Aparece un círculo rojo en el margen interno y la línea está resaltada.
2. Para iniciar la depuración, seleccione Depurar > Iniciar depuración o presione F5 .
3. Cuando aparezca la ventana de la consola y se le solicite su nombre, escríbalo.
El foco se devuelve al editor de código de Visual Studio y la línea de código con el punto de interrupción
se resalta en amarillo. El resaltado amarillo significa que esta línea de código se ejecutará a continuación.
El punto de interrupción hace que la aplicación pause la ejecución en esta línea.
4. Mantenga el ratón sobre la variable username para ver su valor. También puede hacer clic con el botón
derecho en username y seleccionar Agregar inspección para agregar la variable a la ventana
Inspección , donde también puede ver su valor.

5. Presione de nuevo F5 para terminar de ejecutar la aplicación.


Para más información sobre la depuración en Visual Studio, consulte el recorrido por la característica de
depuración.

Personalizar Visual Studio


Puede personalizar la interfaz de usuario de Visual Studio, incluso cambiar el tema de color predeterminado.
Para cambiar el tema de color:
1. En la barra de menús, seleccione Herramientas > Opciones para abrir el cuadro de diálogo Opciones .
2. En la página de opciones Entorno > General , cambie la selección Tema de color a Oscuro y, después,
seleccione Aceptar .
El tema de color para todo el IDE se cambia a Oscuro .
1. En la barra de menús, seleccione Herramientas > Opciones para abrir el cuadro de diálogo Opciones .
2. En la página de opciones Entorno > General , cambie la selección Tema de color a Oscuro y, después,
seleccione Aceptar .
El tema de color para todo el IDE se cambia a Oscuro .

1. En la barra de menús, seleccione Herramientas > Opciones para abrir el cuadro de diálogo Opciones .
2. En la página de opciones Entorno > General , cambie la selección de Tema de color a Azul o Claro y,
luego, seleccione Aceptar .
El tema de color de todo el IDE se cambia en consecuencia. En la captura de pantalla siguiente se muestra
el tema Azul:
Para obtener información sobre otras maneras de personalizar el IDE, vea Personalizar Visual Studio.

Selección de la configuración del entorno


Puede configurar Visual Studio para que use la configuración de entorno adaptada a los desarrolladores de C#:
1. En la barra de menús, elija Herramientas > Impor tar y expor tar configuraciones .
2. En el Asistente para impor tar y expor tar configuraciones , seleccione Restablecer todas las
configuraciones y luego Siguiente .
3. En la página Guardar configuración actual , elija si quiere guardar la configuración actual antes de
restablecerla. Si no personalizó la configuración, seleccione No, simplemente restablecer la
configuración reemplazando mi configuración actual . Luego, seleccione Siguiente .
4. En la página Elija una colección predeterminada de configuraciones , elija Visual C# y, luego,
seleccione Finalizar .
5. En la página Restablecimiento completado , haga clic en Cerrar .
Para obtener información sobre otras maneras de personalizar el IDE, vea Personalizar Visual Studio.

Pasos siguientes
Profundice aún más en Visual Studio con alguno de estos artículos introductorios:
Aprender a usar el editor de código
Información sobre proyectos y soluciones

Consulte también
Descubra más características de Visual Studio.
Visite visualstudio.microsoft.com.
Lea el blog de Visual Studio.
Información sobre cómo usar el editor de código
con C#
11/11/2021 • 12 minutes to read

En esta introducción de 10 minutos al editor de código en Visual Studio, se agrega código a un archivo para ver
algunas de las formas en que Visual Studio hace que escribir y comprender el código de C# (así como
desplazarse por él) sea más fácil.

TIP
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.

Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
En este artículo se da por hecho que ya está familiarizado con C#. Si no lo está, le aconsejamos que antes eche
un vistazo a un tutorial del tipo Introducción a C# y ASP.NET Core en Visual Studio.

TIP
Para realizar los procedimientos de este artículo, asegúrese de que tiene la configuración de C# seleccionada en Visual
Studio. Para más información sobre cómo seleccionar configuraciones del entorno de desarrollo integrado (IDE), vea Select
environment settings (Seleccionar la configuración del entorno).

Crear un archivo de código


Empezaremos creando un archivo y agregándole código.
1. Abra Visual Studio.
2. En el menú Archivo de la barra de menús, elija Nuevo >Archivo o presione Ctrl +N .
3. En el cuadro de diálogo Nuevo archivo , en la categoría General , elija Clase de Visual C# y, después,
elija Abrir .
Se abre un archivo nuevo en el editor con el esqueleto de una clase de C#. (Observe que no es necesario
crear un proyecto de Visual Studio completo para aprovechar algunas de las ventajas que ofrece el editor
de código; lo único que se necesita es un archivo de código).
1. Abra Visual Studio. Presione Esc o haga clic en Continuar sin código en la ventana de inicio para abrir
el entorno de desarrollo.
2. En el menú Archivo de la barra de menús, elija Nuevo >Archivo o presione Ctrl +N .
3. En el cuadro de diálogo Nuevo archivo , en la categoría General , elija Clase de Visual C# y, después,
elija Abrir .
Se abre un archivo nuevo en el editor con el esqueleto de una clase de C#. (Observe que no es necesario
crear un proyecto de Visual Studio completo para aprovechar algunas de las ventajas que ofrece el editor
de código; lo único que se necesita es un archivo de código).

1. Abra Visual Studio. Presione Esc o elija Continuar sin código en la ventana de inicio para abrir el
entorno de desarrollo.
2. En el menú Archivo de la barra de menús, elija Nuevo >Archivo o presione Ctrl +N .
3. En el cuadro de diálogo Nuevo archivo , en la categoría General , elija Clase de Visual C# y, después,
elija Abrir .
Se abre un archivo nuevo en el editor con el esqueleto de una clase de C#. No es necesario crear un
proyecto de Visual Studio completo para aprovechar algunas de las ventajas que ofrece el editor de
código; lo único que se necesita es un archivo de código.
.

Uso de fragmentos de código


Visual Studio proporciona fragmentos de código muy prácticos que pueden servir para generar bloques de
código de uso común de forma rápida y sencilla. Existen fragmentos de código disponibles para diferentes
lenguajes de programación, como C#, Visual Basic y C++.
Vamos a agregar el fragmento de código de C# void Main a nuestro archivo.
1. Coloque el cursor justo encima de la llave de cierre final } en el archivo y escriba los caracteres svm (que
es el acrónimo de static void Main —no se preocupe demasiado si no sabe lo que significa).
Aparece un cuadro de diálogo emergente con información sobre el fragmento de código svm .

2. Presione la tecla TAB dos veces para insertar el fragmento de código.


Verá cómo la firma del método static void Main() se agrega al archivo. El método Main() es el punto de
entrada de las aplicaciones de C#.
Los fragmentos de código disponibles varían según el lenguaje de programación. Para ver los fragmentos de
código disponibles para el lenguaje, seleccione Editar > IntelliSense > Inser tar fragmento de código o
presione Ctrl +K , Ctrl +X y, después, elija la carpeta del lenguaje. En C#, la lista tiene el siguiente aspecto:
1. Coloque el cursor justo encima de la llave de cierre final } en el archivo y escriba los caracteres svm .
svm significa static void Main , no se preocupe si no sabe lo que significa aún.

Aparece un cuadro de diálogo emergente con información sobre el fragmento de código svm .

2. Presione la tecla TAB dos veces para insertar el fragmento de código.


Verá cómo la firma del método static void Main() se agrega al archivo. El método Main() es el punto de
entrada de las aplicaciones de C#.
Los fragmentos de código disponibles varían según el lenguaje de programación. Para ver los fragmentos de
código disponibles para su lenguaje, elija Editar > IntelliSense > Inser tar fragmento de código o presione
Ctrl +K , Ctrl +X y, después, elija la carpeta correspondiente a su lenguaje de programación. En C#, la lista de
fragmentos de código tiene el siguiente aspecto:
La lista incluye fragmentos de código para crear una clase, un constructor, un bucle for, una instrucción if o
switch, etc.

Marcar código como comentario


La barra de herramientas, que es la fila de botones debajo de la barra de menús de Visual Studio, puede ayudar
a mejorar la productividad mientras se codifica. Por ejemplo, puede alternar el modo de finalización de
IntelliSense (IntelliSense es una ayuda de codificación que muestra una lista de métodos coincidentes, entre
otras cosas), aumentar o reducir una sangría de línea o comentar el código que no quiere compilar. En esta
sección se comenta algún código.

1. Pegue el siguiente código en el cuerpo del método Main() .

// _words is a string array that we'll sort alphabetically


string[] _words = {
"the",
"quick",
"brown",
"fox",
"jumps"
};

string[] morewords = {
"over",
"the",
"lazy",
"dog"
};

IEnumerable<string> query = from word in _words


orderby word.Length
select word;

2. No se usa la variable morewords , pero puede que sí se haga más adelante, así que no se elimina por
completo. En su lugar, lo que haremos será convertir esas líneas en comentarios. Seleccione toda la
definición de morewords hasta el punto y coma de cierre, y luego, elija el botón Comment out the
selected lines (Convertir en comentario las líneas seleccionadas) en la barra de herramientas. Si
prefiere usar el teclado, presione Ctrl +K , Ctrl +C .

Los caracteres de comentario de C# // se agregan al principio de cada línea seleccionada para marcar el
código como comentario.
La barra de herramientas, que es la fila de botones debajo de la barra de menús de Visual Studio, ayuda a
mejorar la productividad mientras se crea código. Por ejemplo, puede activar o desactivar el modo de
finalización de IntelliSense, aumentar o reducir una sangría o convertir en comentario código que no se quiere
compilar.

Vamos a convertir en comentario algo de código.


1. Pegue el siguiente código en el cuerpo del método Main() .

// someWords is a string array.


string[] someWords = {
"the",
"quick",
"brown",
"fox",
"jumps"
};

string[] moreWords = {
"over",
"the",
"lazy",
"dog"
};

// Alphabetically sort the words.


IEnumerable<string> query = from word in someWords
orderby word
select word;

2. No vamos a usar la variable moreWords , pero puede que sí lo hagamos más adelante, así que no la
eliminaremos. En su lugar, lo que haremos será convertir esas líneas en comentarios. Seleccione toda la
definición de moreWords hasta el punto y coma final, y luego elija el botón Comment out the selected
lines (Convertir en comentario las líneas seleccionadas) en la barra de herramientas. Si prefiere usar el
teclado, presione Ctrl +K , Ctrl +C .

Los caracteres de comentario de C# // se agregan al principio de cada línea seleccionada para marcar el
código como comentario.
Contraer bloques de código
Como no queremos ver el constructor vacío que se generó para Class1 , para despejar la vista del código
vamos a contraerlo. Seleccione el pequeño cuadro gris con el signo menos que se ve en el margen de la primera
línea del constructor. O bien, si prefiere usar el teclado, coloque el cursor en cualquier lugar del código del
constructor y presione Ctrl +M , Ctrl +M .

El bloque de código se contrae para mostrar únicamente la primera línea seguida de un botón de puntos
suspensivos ( ... ). Para expandir el bloque de código de nuevo, haga clic en el mismo cuadro gris (que ahora
tiene un signo más) o presione CTRL +M , CTRL +M otra vez. Esta característica se denomina Esquematización y
es especialmente útil cuando se contraen métodos muy largos o clases enteras.

El bloque de código se contrae para mostrar únicamente la primera línea seguida de un botón de puntos
suspensivos ( ... ). Para expandir de nuevo el bloque de código, seleccione el mismo cuadro gris (que ahora
tiene un signo más) o presione CTRL +M , CTRL +M otra vez. Esta característica se denomina Esquematización y
es especialmente útil cuando se contraen métodos muy largos o clases enteras.

Ver definiciones de símbolos


Gracias al editor de Visual Studio, es muy sencillo inspeccionar la definición de un tipo, método, etc. Una forma
consiste en ir al archivo que contiene la definición, por ejemplo, seleccionando Ir a definición o presionando
F12 en cualquier lugar donde se haga referencia al símbolo. Otra más rápida aún (y que no desplaza el enfoque
del archivo en el que está trabajando) es usar Ver la definición. Vamos a ver la definición del tipo string .
1. Haga clic con el botón derecho en cualquier instancia de string y elija Ver la definición en el menú de
contenido. O bien, presione Alt +F12 .
Se abrirá una ventana emergente con la definición de la clase String . Puede desplazarse dentro de la
ventana emergente o incluso ver la definición de otro tipo desde el código inspeccionado.

2. Para cerrar la ventana de definición inspeccionada, seleccione el pequeño cuadro con una "x" en la
esquina superior derecha de la ventana emergente.
El editor de Visual Studio facilita la inspección de la definición de un tipo, un método o una variable. Una forma
es ir a la definición, en cualquier archivo que la tenga y elegir Ir a definición o presionar F12 en cualquier
lugar donde se haga referencia a un símbolo. Otra forma aún más rápida (y que no desplaza el foco del código
en el que está trabajando) es usar Ver la definición.
Vamos a ver la definición del tipo string .
1. Haga clic con el botón derecho en cualquier instancia de string y elija Ver la definición en el menú de
contenido. O bien, presione Alt +F12 .
Se abrirá una ventana emergente con la definición de la clase String . Puede desplazarse dentro de la
ventana emergente o incluso ver la definición de otro tipo desde el código inspeccionado.

.
2. Para cerrar la ventana Ver la definición, seleccione el pequeño cuadro con una "x" en la esquina superior
derecha de la ventana emergente.

Usar IntelliSense para completar palabras


IntelliSense es un recurso impagable cuando se escribe código. Así, puede mostrar información sobre los
miembros disponibles de un tipo o detalles de los parámetros para las distintas sobrecargas de un método.
IntelliSense puede servir también para completar una palabra después de escribir una serie de caracteres y, así,
eliminar cualquier tipo de ambigüedad. Se va a agregar una línea de código para imprimir las cadenas
ordenadas en la ventana de la consola, que es el lugar estándar para la salida del programa.
1. Empiece a escribir el siguiente código debajo de la variable query :

foreach (string str in qu

Verá cómo IntelliSense muestra Información rápida sobre el símbolo query .

2. Presione Tab para insertar el resto de la palabra query por medio de la funcionalidad de finalización de
palabras de IntelliSense.
3. Termine el bloque de código de modo que se parezca al siguiente código. Puede incluso practicar usando
de nuevo fragmentos de código; para ello, escriba cw y, después, presione la tecla TAB dos veces para
generar el código Console.WriteLine .

foreach (string str in query)


{
Console.WriteLine(str);
}

IntelliSense es un recurso impagable cuando se escribe código. Así, puede mostrar información sobre los
miembros disponibles de un tipo o detalles de los parámetros para las distintas sobrecargas de un método.
IntelliSense puede servir también para completar una palabra después de escribir una serie de caracteres y, así,
eliminar cualquier tipo de ambigüedad.
Se va a agregar una línea de código para imprimir las cadenas ordenadas en la ventana de la consola, que es el
lugar estándar para la salida del programa.
1. Empiece a escribir el siguiente código debajo de la variable query :

foreach (string str in qu

Verá que aparece un elemento emergente de IntelliSense con información sobre el símbolo query .

2. Para insertar el resto de la palabra query con la finalización de palabras de IntelliSense, presione el
tabulador .
3. Termine el bloque de código de modo que se parezca al siguiente código. Para practicar más con los
fragmentos de código, escriba cw y, luego, presione el tabulador dos veces para generar la instrucción
Console.WriteLine .

foreach (string str in query)


{
Console.WriteLine(str);
}

Refactorizar un nombre
Nadie crea código correctamente la primera vez y una de las cosas que probablemente se tengan que cambiar
es el nombre de una variable o un método. Vamos a probar la funcionalidad de refactorización de Visual Studio
para cambiar el nombre de la variable _words a words .
1. Coloque el cursor sobre la definición de la variable _words , haga clic con el botón derecho y elija
Cambiar nombre en el menú contextual, o bien presione Ctrl +R , Ctrl +R .
Se abre un cuadro de diálogo emergente Cambiar nombre en la parte superior derecha del editor.
2. Escriba el nombre deseado, words . Observe que la referencia a words en la consulta también cambia
automáticamente de nombre. Antes de presionar ENTRAR , active la casilla Incluir comentarios del
cuadro emergente Cambiar nombre .
3. Presione ENTRAR .
Ambas instancias de words han cambiado de nombre, así como la referencia a words en el comentario
de código.
Nadie crea código correctamente la primera vez y una de las cosas que probablemente se tengan que cambiar
es el nombre de una variable o un método. Vamos a probar la funcionalidad de refactorización de Visual Studio
para cambiar el nombre de la variable someWords a unsortedWords .
1. Coloque el cursor sobre la definición de la variable someWords y elija Cambiar nombre en el menú
contextual, o bien presione F2 .
Aparece un cuadro de diálogo Cambiar nombre en la esquina superior derecha del editor.

2. Escriba el nombre deseado, unsor tedWords . Verá que la referencia a unsortedWords en la instrucción
de asignación query también cambia de nombre automáticamente. Antes de presionar ENTRAR , active
la casilla Incluir comentarios del cuadro emergente Cambiar nombre .

3. Presione Entrar o elija Aplicar en el cuadro de diálogo Cambiar nombre .


Ambas instancias de someWords en el código han cambiado de nombre, así como el texto someWords en
el comentario de código.

Pasos siguientes
Información sobre proyectos y soluciones

Vea también
Fragmentos de código
Navegación en el código
Esquematización
Ir a definición y Ver la definición
Refactorización
Uso de IntelliSense
Introducción a proyectos y soluciones
11/11/2021 • 13 minutes to read

En este artículo introductorio se explica qué significa crear una solución y un proyecto en Visual Studio. Una
solución es un contenedor para organizar uno o más proyectos de código relacionados, como un proyecto de
biblioteca de clases y un proyecto de prueba correspondiente.
Como ejercicio educativo para comprender el concepto de proyecto, creará una solución y un proyecto desde
cero. Normalmente, usaría plantillas de proyecto de Visual Studio para crear proyectos. También examinará las
propiedades de un proyecto y algunos de los archivos que puede contener y creará una referencia de un
proyecto a otro.

NOTE
El desarrollo de aplicaciones en Visual Studio no requiere soluciones ni proyectos. Basta con abrir una carpeta que
contenga código para empezar a codificar, compilar y depurar. Por ejemplo, un repositorio clonado de GitHub podría no
contener soluciones o proyectos de Visual Studio. Para obtener más información, vea Desarrollo de código en Visual
Studio sin proyectos o soluciones.

Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio 2019, vaya a la página Descargas de Visual Studio para instalarlo de
forma gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.

Soluciones y proyectos
En Visual Studio, una solución no es una "respuesta", sino simplemente un contenedor que Visual Studio usa
para organizar uno o más proyectos relacionados. Cuando se abre una solución, Visual Studio carga
automáticamente todos los proyectos que contiene la solución.
Crear una solución
Comience su periplo creando una solución vacía. Cuando se familiarice con Visual Studio, lo más probable es
que no cree soluciones vacías con mucha frecuencia. Al crear un proyecto, Visual Studio crea automáticamente
una solución para este, a menos que ya haya una abierta.
1. Abra Visual Studio.
2. En la barra de menús superior, seleccione Archivo > Nuevo > Proyecto .
Aparece el cuadro de diálogo Nuevo proyecto .
3. En el panel izquierdo, expanda Otros tipos de proyectos y seleccione Soluciones de Visual Studio .
En el panel central, seleccione la plantilla Solución en blanco . Ponga el nombre QuickSolution a la
solución y haga clic en el botón Aceptar .
La página de inicio se cierra y aparece una solución en el Explorador de soluciones , en el lado
derecho de la ventana de Visual Studio. Seguramente use el Explorador de soluciones a menudo para
examinar el contenido de los proyectos.
1. Abra Visual Studio.
2. En la ventana de inicio, seleccione Crear un proyecto .
3. En la página Crear un proyecto , escriba solución en blanco en el cuadro de búsqueda, seleccione la
plantilla Solución en blanco y luego Siguiente .
TIP
Si tiene instaladas varias cargas de trabajo, es posible que la plantilla Solución en blanco no aparezca en la parte
superior de la lista de resultados de la búsqueda. Pruebe a desplazarse hasta la sección Otros resultados
basados en su búsqueda de la lista. Debería aparecer ahí.

4. Asígnele a la solución el nombre QuickSolution y seleccione Crear .


Aparece una solución en el Explorador de soluciones , en el lado derecho de la ventana de Visual
Studio. Seguramente use el Explorador de soluciones a menudo para examinar el contenido de los
proyectos.
1. Abra Visual Studio y, en la ventana de inicio, seleccione Crear un nuevo proyecto .
2. En la página Crear un nuevo proyecto , escriba solución en blanco en el cuadro de búsqueda, elija la
plantilla Solución en blanco y, luego, seleccione Siguiente .

TIP
Si tiene instaladas varias cargas de trabajo, es posible que la plantilla Solución en blanco no aparezca en la parte
superior de la lista de resultados de la búsqueda. Pruebe a desplazarse por Otros resultados basados en su
búsqueda para encontrar la plantilla.

3. En la página Configurar el nuevo proyecto , asigne a la solución el nombre QuickSolution y


seleccione Crear .
La solución QuickSolution aparece en el Explorador de soluciones , en el lado derecho de la ventana
de Visual Studio. Usará el Explorador de soluciones a menudo para examinar el contenido de los
proyectos.
Agregar un proyecto
Ahora agregará su primer proyecto a la solución. Comience con un proyecto vacío y agregue los elementos que
necesite.
1. En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution"
desde el Explorador de soluciones , seleccione Agregar > Nuevo proyecto .
Se abre el cuadro de diálogo Agregar nuevo proyecto .
2. En el panel izquierdo, expanda Visual C# y seleccione Escritorio de Windows . Después, en el panel
central, seleccione la plantilla Proyecto vacío (.NET Framework) . Asigne el nombre QuickDate al
proyecto y seleccione Aceptar .
Un proyecto denominado QuickDate aparece debajo de la solución en el Explorador de soluciones .
Actualmente solo contiene un archivo denominado App.config.

NOTE
Si no ve Visual C# en el panel izquierdo del cuadro de diálogo, debe instalar la carga de trabajo Desarrollo de
escritorio de .NET de Visual Studio. Visual Studio usa la instalación basada en la carga de trabajo para instalar
únicamente los componentes necesarios para el tipo de desarrollo que se lleva a cabo. Una manera sencilla de
instalar una nueva carga de trabajo es hacer clic en el vínculo Abrir el Instalador de Visual Studio situado en
la esquina inferior izquierda del cuadro de diálogo Agregar nuevo proyecto . Una vez que se abra el Instalador
de Visual Studio, seleccione la carga de trabajo Desarrollo de escritorio de .NET y luego haga clic en el botón
Modificar .

1. En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution"
desde el Explorador de soluciones , seleccione Agregar > Nuevo proyecto .
Se abre un cuadro de diálogo de nombre Agregar un nuevo proyecto .
2. Escriba el texto vacío en el cuadro de búsqueda de la parte superior y luego seleccione C# en Lenguaje .
3. Seleccione la plantilla Proyecto vacío (.NET Framework) y luego Siguiente .
4. Asigne el nombre QuickDate al proyecto y seleccione Crear .
Un proyecto denominado QuickDate aparece debajo de la solución en el Explorador de soluciones .
Actualmente solo contiene un archivo denominado App.config.
NOTE
Si no ve la plantilla Proyecto vacío (.NET Framework) , debe instalar la carga de trabajo Desarrollo de
escritorio de .NET de Visual Studio. Visual Studio usa la instalación basada en la carga de trabajo para instalar
únicamente los componentes necesarios para el tipo de desarrollo que se lleva a cabo.
Una manera fácil de instalar una nueva carga de trabajo al crear un nuevo proyecto es seleccionar el vínculo
Instalar más herramientas y características debajo del texto que indica Not finding what you’re looking
for? (¿No encuentra lo que busca?). Una vez que se abra el Instalador de Visual Studio, seleccione la carga de
trabajo Desarrollo de escritorio de .NET y luego haga clic en el botón Modificar .

1. Haga clic con el botón derecho en Solución "QuickSolution" en el Explorador de soluciones y


seleccione Agregar > Nuevo proyecto en el menú contextual.
2. En la página Agregar un nuevo proyecto , escriba vacío en el cuadro de búsqueda de la parte superior
y seleccione C# en Todos los lenguajes .
3. Elija la plantilla Proyecto vacío (.NET Framework) de C# y, luego, seleccione Siguiente .

NOTE
Visual Studio usa la instalación basada en la carga de trabajo para instalar únicamente los componentes necesarios
para el tipo de desarrollo que se lleva a cabo. Si no ve la plantilla Proyecto vacío (.NET Framework) , tiene que
instalar la carga de trabajo Desarrollo de escritorio de .NET de Visual Studio.
Una manera fácil de instalar una nueva carga de trabajo al crear un nuevo proyecto es seleccionar el vínculo
Instalar más herramientas y características debajo del texto que indica Not finding what you’re looking
for? (¿No encuentra lo que busca?). En el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de
escritorio de .NET y, luego, seleccione Modificar .

4. En la página Configurar el nuevo proyecto , asigne al proyecto el nombre QuickDate y seleccione


Crear .
El proyecto QuickDate aparecerá debajo de la solución en el Explorador de soluciones . Actualmente,
el proyecto solo contiene un archivo denominado App.config .

Agregar un elemento al proyecto


Agregue un archivo de código al proyecto vacío.
1. En el menú contextual que aparece al hacer clic con el botón derecho en el proyecto QuickDate en el
Explorador de soluciones , seleccione Agregar > Nuevo elemento .
Se abrirá el cuadro de diálogo Agregar nuevo elemento .
2. Expanda Elementos de Visual C# y seleccione Código . En el panel central, seleccione la plantilla de
elemento Clase . En Nombre , escriba Calendar y seleccione Agregar .
Visual Studio agrega un archivo denominado Calendar.cs al proyecto. El fragmento .cs del final es la
extensión de archivo que tienen los archivos de código de C#. El archivo Calendar.cs aparece en la
jerarquía visual del proyecto en el Explorador de soluciones y se abre en el editor.
3. Reemplace el contenido del archivo Calendar.cs por el siguiente código:

using System;

namespace QuickDate
{
internal class Calendar
{
static void Main(string[] args)
{
DateTime now = GetCurrentDate();
Console.WriteLine($"Today's date is {now}");
Console.ReadLine();
}

internal static DateTime GetCurrentDate()


{
return DateTime.Now.Date;
}
}
}

Aún no es necesario entender todo lo que hace el código. Presione CTRL +F5 para ejecutar la aplicación.
Verá que la aplicación imprime la fecha del día actual en la ventana de la consola o de la salida estándar.

Agregar un segundo proyecto


Las soluciones suelen contener más de un proyecto y, a menudo, estos proyectos se hacen referencia entre sí.
Algunos proyectos de una solución pueden ser bibliotecas de clases; otros, aplicaciones ejecutables, y otros,
proyectos de prueba unitaria o sitios web.
Para agregar un proyecto de prueba unitaria a la solución, empiece con una plantilla de proyecto para no tener
que agregar otro archivo de código al proyecto.
1. En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution"
desde el Explorador de soluciones , seleccione Agregar > Nuevo proyecto .
2. En el panel izquierdo, expanda Visual C# y seleccione la categoría Prueba . En el panel central, seleccione
la plantilla de proyecto MSTest Test Project (.NET Core) [Proyecto de prueba MSTest (.NET Core)].
Asigne el nombre QuickTest al proyecto y seleccione Aceptar .
Se agregará un segundo proyecto al Explorador de soluciones , mientras que un archivo denominado
UnitTest1.cs se abre en el editor.

1. En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution"
desde el Explorador de soluciones , seleccione Agregar > Nuevo proyecto .
2. En el cuadro de diálogo Agregar un nuevo proyecto , escriba el texto prueba unitaria en el cuadro de
búsqueda de la parte superior y luego seleccione C# en Lenguaje .
3. Seleccione la plantilla de proyecto Proyecto de prueba unitaria para .NET Core y luego seleccione
Siguiente .

NOTE
A partir de la versión 16.9 de Visual Studio 2019, el nombre de la plantilla de proyecto MSTest cambió de
Proyecto de prueba unitaria de MSTest (.NET Core) a Proyecto de prueba unitaria . En esta
actualización se han modificado varios pasos de la creación del proyecto.

4. Asigne el nombre QuickTest al proyecto y seleccione Siguiente .


5. Elija la plataforma de destino recomendada (.NET Core 3.1) o .NET 5 y, a continuación, elija Crear .
Se agregará un segundo proyecto al Explorador de soluciones , mientras que un archivo denominado
UnitTest1.cs se abre en el editor.

1. En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution"
desde el Explorador de soluciones , seleccione Agregar > Nuevo proyecto .
2. En el cuadro de diálogo Agregar un nuevo proyecto , escriba prueba unitaria en el cuadro de
búsqueda de la parte superior y, luego, seleccione C# en Todos los lenguajes .
3. Elija la plantilla Proyecto de prueba unitaria (.NET Framework) de C# y seleccione Siguiente .
4. En la página Configurar el nuevo proyecto , asigne al proyecto el nombre QuickTest y seleccione
Crear .
Visual Studio agrega el proyecto QuickTest al Explorador de soluciones y el archivo UnitTest1.cs se
abre en el editor.

Agregar una referencia de proyecto


Usará el nuevo proyecto de prueba unitaria para probar el método en el proyecto QuickDate , por lo que debe
agregar una referencia a QuickDate en el proyecto QuickTest . Al agregar la referencia, se crea una
dependencia de compilación entre ambos proyectos, lo que significa que, al compilar la solución, QuickDate se
compila antes que QuickTest .
1. Seleccione el nodo Dependencias en el proyecto QuickTest y, en el menú contextual que aparece al
hacer clic con el botón derecho, seleccione Agregar referencia .
Se abre el cuadro de diálogo Administrador de referencias .
2. En el panel izquierdo, expanda Proyectos y seleccione Solución . En el panel central, active la casilla
situada junto a QuickDate y luego seleccione Aceptar .
Se agrega una referencia al proyecto QuickDate .

1. Seleccione el nodo Dependencias en el proyecto QuickTest y, en el menú contextual que aparece al


hacer clic con el botón derecho, seleccione Agregar referencia de proyecto .
Se abre el cuadro de diálogo Administrador de referencias .
2. En el panel izquierdo, expanda Proyectos y, después, seleccione Solución . En el panel central, active la
casilla situada junto a QuickDate y luego seleccione Aceptar .
Se agrega una referencia al proyecto QuickDate .

1. En el Explorador de soluciones , haga clic con el botón derecho en el nodo Referencias del proyecto
QuickTest y seleccione Agregar referencia en el menú contextual.
2. En el cuadro de diálogo Administrador de referencias , en Proyectos , active la casilla situada junto a
QuickDate y, luego, seleccione Aceptar .
Aparece una referencia al proyecto QuickDate en el proyecto QuickTest en el Explorador de
soluciones .

Agregar código de prueba


1. Ahora, agregará código de prueba al archivo de código de prueba de C#. Reemplace el contenido del
archivo UnitTest1.cs por el siguiente código:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace QuickTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestGetCurrentDate()
{
Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate());
}
}
}

Aparece una línea ondulada de color rojo debajo de algunas partes del código. Para solucionar este error,
convierta el proyecto de prueba en un ensamblado de confianza para el proyecto QuickDate .
2. En el archivo Calendar.cs, agregue la siguiente instrucción using y el atributo InternalsVisibleToAttribute
en la parte superior del archivo para resolver el error del proyecto de prueba.

using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("QuickTest")]

El código de Calendar.cs debería tener un aspecto similar al de esta captura de pantalla:


Ejecutar la prueba unitaria
Si quiere comprobar que la prueba unitaria funciona, seleccione Probar > ejecutar > Todas las pruebas
desde la barra de menús. Se abre una ventana denominada Explorador de pruebas , donde debería ver que la
prueba TestGetCurrentDate se supera.
Para comprobar que la prueba unitaria funciona, seleccione Probar > Ejecutar todas las pruebas en la barra
de menús. Se abre la ventana Explorador de pruebas , donde debería ver que la prueba TestGetCurrentDate
se supera.
TIP
Si la ventana Explorador de pruebas no se abre automáticamente, ábrala al elegir Prueba > Windows > Explorador
de pruebas en la barra de menús.

TIP
Si el Explorador de pruebas no se abre automáticamente, ábralo seleccionando Prueba > Explorador de pruebas
en la barra de menús.

Propiedades de proyecto
La línea del archivo Calendar.cs que contiene el atributo InternalsVisibleToAttribute hace referencia al nombre de
ensamblado o al nombre de archivo del proyecto QuickTest . El nombre del ensamblado no siempre es el
mismo que el nombre del proyecto. Para averiguar el nombre del ensamblado de un proyecto, use las
propiedades del proyecto. Las páginas de propiedades contienen varios valores para el proyecto.
1. En el Explorador de soluciones , haga clic con el botón derecho en el proyecto QuickTest y seleccione
Propiedades , o bien seleccione el proyecto y presione Alt +ENTRAR .
Las páginas de propiedades del proyecto se abren en la pestaña Aplicación . El nombre del
ensamblado del proyecto QuickTest es, efectivamente, QuickTest .
Si quiere, puede cambiar el nombre aquí. Al compilar el proyecto de prueba, el nombre del archivo
binario resultante cambia de QuickTest.dll a <NewName>.dll.
2. Examine algunas de las demás pestañas de las páginas de propiedades del proyecto, como Compilar y
Depurar . Estas pestañas son diferentes para los distintos tipos de proyectos.

Consulte también
Uso de proyectos y soluciones
Administración de propiedades de soluciones y proyectos
Administración de referencias en un proyecto
Desarrollo de código en Visual Studio sin proyectos o soluciones
Introducción al IDE de Visual Studio
Características de Visual Studio
11/11/2021 • 10 minutes to read

En este artículo se describen características para desarrolladores experimentados o para aquellos


desarrolladores que ya están familiarizados con Visual Studio. Puede encontrar una introducción básica a
Visual Studio en Introducción al IDE de Visual Studio.

Instalación modular
En el instalador modular de Visual Studio, elegirá e instalará las cargas de trabajo que desee. Las cargas de
trabajo son grupos de características que los lenguajes de programación o las plataformas necesitan para
funcionar. Esta estrategia modular ayuda a reducir la superficie de instalación de Visual Studio, por lo que se
instala y actualiza más rápido.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Para obtener más información sobre la configuración de Visual Studio en el sistema, vea Instalación de Visual
Studio.

Creación de aplicaciones de Azure habilitadas para la nube


Visual Studio ofrece un conjunto de herramientas para crear fácilmente aplicaciones habilitadas para la nube de
Microsoft Azure. Puede configurar, compilar, depurar, empaquetar e implementar aplicaciones y servicios de
Azure directamente desde el entorno de desarrollo integrado (IDE) de Visual Studio. Para obtener las plantillas
de proyecto y las herramientas de Azure, seleccione la carga de trabajo Desarrollo de Azure al instalar Visual
Studio.

Después de instalar la carga de trabajo Desarrollo de Azure , en el cuadro de diálogo Nuevo proyecto
estarán disponibles las siguientes plantillas de la nube para C#:
En Visual Studio, use Cloud Explorer para ver y administrar los recursos en la nube basados en Azure. Los
recursos en la nube pueden incluir máquinas virtuales (VM), tablas y bases de datos SQL. Cloud Explorer
muestra los recursos de Azure de todas las cuentas de la suscripción de Azure en la que ha iniciado sesión. Si
una operación requiere Azure Portal, Cloud Explorer proporciona vínculos al lugar del portal al que tiene que
ir.

IMPORTANT
La ventana de Cloud Explorer se retira en Visual Studio 2022. Para más información, consulte Administración de los
recursos asociados con las cuentas de Azure en Visual Studio Cloud Explorer.
Use Azure Portal para acceder a los recursos de Azure según sea necesario. Puede seguir usando el nodo de Azure del
Explorador de servidores en versiones anteriores de Visual Studio.

Puede usar servicios de Azure con sus aplicaciones agregando Ser vicios conectados , por ejemplo:
El servicio conectado de Active Directory, para usar cuentas de Azure Active Directory (Azure AD) para
conectarse a las aplicaciones web.
Servicio conectado Azure Storage para el almacenamiento de blobs, colas y tablas
Servicio conectado Key Vault para administrar secretos para las aplicaciones web
Los ser vicios conectados disponibles dependerán del tipo de proyecto que tenga. Para agregar un servicio,
haga clic con el botón derecho en el proyecto en el Explorador de soluciones y elija Agregar > Ser vicio
conectado .

En la pantalla Ser vicios conectados , seleccione el vínculo o el signo más para agregar una dependencia de
ser vicio . En la pantalla Agregar dependencia , seleccione el servicio que quiere agregar y siga las pantallas
para conectarse a su suscripción y servicio de Azure.
Para obtener más información, vea Move to the cloud With Visual Studio and Azure (Pasarse a la nube con
Visual Studio y Azure).

Creación de aplicaciones web


Visual Studio puede ayudarle a escribir aplicaciones para la Web. Puede crear aplicaciones web mediante
ASP.NET, Node.js, Python, JavaScript y TypeScript. Visual Studio admite muchos marcos web, como Angular,
jQuery y Express.
ASP.NET Core y .NET Core funcionan en los sistemas operativos Windows, Mac y Linux. ASP.NET Core es una
actualización principal a MVC, WebAPI y SignalR. ASP.NET Core se diseñó desde la base para ofrecer una pila de
.NET eficiente y componible, con el fin de compilar servicios y aplicaciones web modernos basados en la nube.
Para obtener más información, vea Herramientas web modernas.

Compilar aplicaciones y juegos multiplataforma


Visual Studio puede crear aplicaciones y juegos para macOS, Linux y Windows, así como para Android, iOS y
otros dispositivos móviles. Con Visual Studio, puede crear:
Aplicaciones de .NET Core que se ejecutan en Windows, macOS y Linux.
Aplicaciones móviles para iOS, Android y Windows en C# y F# medianteXamarin.
Juegos 2D y 3D en C# mediante Visual Studio Tools para Unity.
Aplicaciones de C++ nativas para dispositivos iOS, Android y Windows. Comparta código común en
bibliotecas para iOS, Android y Windows mediante C++ para desarrollo multiplataforma.

Conectarse a bases de datos


El Explorador de ser vidores ayuda a explorar y administrar instancias y recursos de servidor de forma local y
remota, y en Azure, Microsoft 365, Salesforce.com y sitios web. Para abrir el Explorador de ser vidores , elija
Ver > Explorador de ser vidores . Para obtener más información sobre el uso del Explorador de servidores,
vea Adición de nuevas conexiones.
El Explorador de objetos de SQL Ser ver ofrece una vista de los objetos de base de datos similar a la de SQL
Server Management Studio. Con el Explorador de objetos de SQL Server puede realizar trabajos de
administración y diseño de bases de datos ligeras. Algunos ejemplos son la edición de datos de tabla, la
comparación de esquemas y la ejecución de consultas mediante menús contextuales.

Para abrir el Explorador de objetos de SQL Ser ver , seleccione su icono en la parte superior de la ventana
Explorador de ser vidores o seleccione Ver > Explorador de objetos de SQL Ser ver en el menú superior
de Visual Studio.
.
SQL Server Data Tools (SSDT) es un eficaz entorno de desarrollo para SQL Server, Azure SQL Database y Azure
SQL Data Warehouse. Con SSDT, puede compilar, depurar, mantener y refactorizar bases de datos. Puede
trabajar con un proyecto de base de datos o directamente con una instancia de base de datos conectada de
manera local o externa. Para obtener SSDT, use el Instalador de Visual Studio para instalar la carga de trabajo
Almacenamiento y procesamiento de datos .

Depure, pruebe y mejore su código


Cuando escribe código, debe ejecutarlo y probarlo para comprobar que funciona sin errores. Con el sistema de
depuración de Visual Studio, puede depurar el código que se ejecuta en el proyecto local, en un dispositivo
remoto o en un emulador de dispositivo. Ejecute el código una instrucción cada vez e inspeccione las variables
mientras avanza. O bien, establezca puntos de interrupción que solo se alcanzan cuando una condición
especificada es verdadera. Puede administrar las opciones de depuración en el propio editor de código para que
no tenga que salir del código.
Para más información sobre la depuración en Visual Studio, consulte Primer vistazo al depurador.
Para mejorar el rendimiento de la aplicación, consulte la característica de generación de perfiles de Visual Studio.
Visual Studio ofrece opciones de prueba, como pruebas unitarias, Live Unit Testing, IntelliTest y pruebas de carga
y rendimiento. Visual Studio también cuenta con funciones avanzadas de análisis de código para detectar
errores de diseño, de seguridad y de otro tipo.

Implementar la aplicación finalizada


Visual Studio dispone de herramientas para implementar las aplicaciones en usuarios o clientes mediante
Microsoft Store, un sitio de SharePoint o las tecnologías de InstallShield o Windows Installer. Puede acceder a
todas estas opciones mediante el IDE Visual Studio. Para más información, consulte Implementar aplicaciones,
servicios y componentes.

Administrar el código fuente y colaborar con otras personas


En Visual Studio, puede administrar el código fuente en los repositorios de Git hospedados por cualquier
proveedor, incluido GitHub. También puede buscar una instancia de Azure DevOps Server a la que conectarse.
Si desea la información detallada, consulte la página Experiencia de Git en Visual Studio y la página de
navegación Documentación sobre el control de versiones de Visual Studio. Además, si desea un tutorial paso a
paso sobre cómo conectarse a un repositorio de Git o de Azure DevOps mediante Visual Studio, consulte la
página Apertura de un proyecto desde un repositorio.

TIP
Seguimos compilando el conjunto de características de Git y lo recorreremos en iteración en función de sus comentarios.
Para más información sobre una actualización de características reciente con un vínculo a una encuesta en la que puede
compartir sus comentarios al respecto, consulte la entrada de blog Compatibilidad con varios repositorios en
Visual Studio.

La forma de abrir un proyecto desde un repositorio de GitHub mediante Visual Studio 2019 depende de la
versión que tiene. En concreto, si tiene instalada la versión 16.8 o una posterior, tiene a su disposición una
nueva experiencia de Git en Visual Studio completamente integrada. Para más información, consulte la página
Documentación sobre el control de versiones en Visual Studio.
Además, si desea un tutorial paso a paso sobre cómo conectarse a un repositorio de Git o de Azure DevOps
mediante Visual Studio, consulte la página Apertura de un proyecto desde un repositorio.
Para más información sobre la administración de repositorios de Git en Visual Studio con Team Explorer ,
consulte Primeros pasos con Git y Azure Repos. Para más información sobre las características de control de
código fuente integradas de Visual Studio, consulte la entrada de blog Características de Git en Visual Studio.
Azure DevOps Services es un conjunto de servicios basados en la nube para planear, hospedar, automatizar e
implementar software y promover la colaboración en equipo. DevOps Services admite el control de versiones
distribuido de GitHub y el control de versiones centralizado de TFVC (Control de versiones de Team Foundation).
DevOps Services proporciona canalizaciones de compilación continua y entrega continua (CI/CD) del código
almacenado en sistemas de control de versiones. DevOps Services también admite las metodologías de
desarrollo Scrum, CMMI y Agile. Puede usar DevOps Services para administrar el código junto con los errores y
los elementos de trabajo de todo el proyecto.
Team Foundation Server (TFS) es el centro de administración del ciclo de vida de aplicación de Visual Studio.
Permite a todas las partes interesadas en el proceso de desarrollo participar con una única solución. TFS es útil
para administrar equipos heterogéneos y también proyectos.
Puede conectarse a una organización de Azure DevOps o a una instancia de Team Foundation Server de la red
mediante la ventana Team Explorer de Visual Studio. Desde la ventana Team Explorer , puede insertar o
extraer código del repositorio en el control de código fuente, administrar elementos de trabajo, iniciar
compilaciones y acceder a salas y áreas de trabajo de equipo. Para abrir Team Explorer , use el cuadro de
búsqueda o seleccione Ver > Team Explorer .
En la siguiente imagen se muestra la ventana Team Explorer de una solución hospedada en Azure DevOps
Services.
Azure DevOps es un centro de administración del ciclo de vida de las aplicaciones de Visual Studio. Permite que
todas las partes interesadas en el proceso de desarrollo participen con una única solución. Azure DevOps es útil
para administrar equipos y proyectos heterogéneos.
Puede conectarse a una organización de Azure DevOps o a una instancia de Azure DevOps Server de la red
mediante la ventana Team Explorer de Visual Studio. Desde la ventana Team Explorer , puede insertar o
extraer código del repositorio en el control de código fuente, administrar elementos de trabajo, iniciar
compilaciones y acceder a salas y áreas de trabajo de equipo. Para abrir Team Explorer , use el cuadro de
búsqueda o seleccione Ver > Team Explorer .
También puede automatizar el proceso de compilación para compilar el código que los desarrolladores insertan
en el control de versiones. Por ejemplo, puede compilar uno o varios proyectos por la noche o cada vez que se
inserte ese código en el repositorio. Para obtener más información, consulte Azure Pipelines.

Pasos siguientes
Si Visual Studio no tiene la funcionalidad exacta que necesita, puede agregarla. Personalice el IDE en
función de su flujo de trabajo y estilo, agregue compatibilidad con herramientas externas que aún no se
hayan integrado con Visual Studio y modifique la funcionalidad existente para aumentar la productividad.
Para obtener la versión más reciente de las Herramientas de extensibilidad de Visual Studio (SDK de VS),
consulte Kit de desarrollo de software (SDK) de Visual Studio.
Puede usar .NET Compiler Platform Roslyn para escribir sus propios analizadores y generadores de
código. Encuentre todo lo que necesita en Roslyn.
Busque las extensiones existentes para Visual Studio creadas por los desarrolladores de Microsoft y la
comunidad de desarrollo de Visual Studio.
Para obtener más información acerca de la extensión de Visual Studio, consulte Extender el IDE de Visual
Studio.

Vea también
Introducción al IDE de Visual Studio
Novedades de Visual Studio 2017
Novedades de Visual Studio 2019
Novedades de Visual Studio 2022
Tutorial: Creación de una aplicación de consola de
C# sencilla en Visual Studio (parte 1 de 2)
11/11/2021 • 16 minutes to read

En este tutorial, usa Visual Studio para crear y ejecutar una aplicación de consola de C# y explorar algunas
características del entorno de desarrollo integrado (IDE) de Visual Studio. Este tutorial es la primera parte de una
serie de tutoriales de dos partes.
En este tutorial, hizo lo siguiente:
Crear un proyecto de Visual Studio.
Crear una aplicación de consola de C#.
Depure la aplicación.
Cerrar la aplicación.
Inspeccionar el código completo.
En la parte 2, ampliará esta aplicación para agregar más proyectos, aprender trucos de depuración y hacer
referencia a paquetes de terceros.

Prerrequisitos
Debe tener instalado Visual Studio.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.

Crear un proyecto
Para empezar, cree un proyecto de aplicación de C#. En el tipo de proyecto se incluyen todos los archivos de
plantilla que necesita.
1. Abra Visual Studio 2017.
2. En la barra de menús superior, elija Archivo > Nuevo > Proyecto . (Como alternativa, presione
Ctrl +Mayús +N ).
3. En el panel izquierdo del cuadro de diálogo Nuevo proyecto , expanda C# y elija .NET Core . En el panel
central, elija Aplicación de consola (.NET Core) . Después, asigne al archivo el nombre Calculator .
Agregar una carga de trabajo (opcional)
Si no ve la plantilla de proyecto Aplicación de consola (.NET Core) , puede obtenerla si agrega la carga de
trabajo Desarrollo multiplataforma de .NET Core . Esta es la manera de hacerlo.
Opción 1: Uso del cuadro de diálogo Nuevo proyecto
1. Elija el vínculo Abrir el Instalador de Visual Studio en el panel de la izquierda del cuadro de diálogo
Nuevo proyecto .

2. Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET
Core y, después, elija Modificar .

Opción 2: Uso de la barra del menú Herramientas


1. Cancele para salir del cuadro de diálogo Nuevo proyecto y, en la barra de menús superior, seleccione
Herramientas > Obtener herramientas y características .
2. Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET
Core y, después, elija Modificar .
1. Abra Visual Studio y elija Crear un nuevo proyecto en la ventana Inicio.
2. En la ventana Crear un nuevo proyecto , elija C# en la lista Idioma. A continuación, seleccione
Windows en la lista Plataforma y Consola en la lista Tipos de proyecto.
Después de aplicar los filtros de lenguaje, plataforma y tipo de proyecto, elija la plantilla Aplicación de
consola y, luego, seleccione Siguiente .

NOTE
Si no ve la plantilla Aplicación de consola , seleccione Instalar más herramientas y características .

Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo multiplataforma de .NET Core .

Después, elija el botón Modificar en el Instalador de Visual Studio. Es posible que se le pida que guarde su
trabajo; si es así, hágalo. Seguidamente, elija Continuar para instalar la carga de trabajo. Luego, vuelva al paso 2
de este procedimiento "Crear un proyecto".

3. En la ventana Configurar el nuevo proyecto , escriba Calculator en el cuadro Nombre del proyecto .
Después, elija Siguiente .
4. En la ventana Información adicional , .NET Core 3.1 ya debe estar seleccionado para la plataforma de
destino. Si no es así, seleccione .NET Core 3.1 . Luego, elija Crear .

Visual Studio abre el nuevo proyecto, que incluye código predeterminado de "Hola mundo".
1. Abra Visual Studio y elija Crear un nuevo proyecto en la ventana Inicio.
2. En la ventana Crear un nuevo proyecto , seleccione Todos los lenguajes y, a continuación, elija C# en
la lista desplegable. Seleccione Windows en la lista Todas las plataformas y Consola en la lista Todos
los tipos de proyecto .
Después de aplicar los filtros de lenguaje, plataforma y tipo de proyecto, elija la plantilla Aplicación de
consola y, luego, seleccione Siguiente .

NOTE
Si no ve la plantilla Aplicación de consola , seleccione Instalar más herramientas y características .

En el Instalador de Visual Studio, elija la carga de trabajo de desarrollo de escritorio de .NET y, a continuación,
seleccione Modificar .

3. En la ventana Configurar el nuevo proyecto , escriba Calculator en el cuadro Nombre del proyecto
y, a continuación, seleccione Siguiente .
4. En la ventana Información adicional , .NET 6.0 ya debe estar seleccionado para la plataforma de
destino. Seleccione Crear .

Visual Studio abre el nuevo proyecto, que incluye código predeterminado de "Hola mundo".

Creación de la aplicación
En esta sección:
Explora algunos cálculos de enteros básicos en C#.
Agrega código para crear una aplicación de calculadora básica.
Depura la aplicación para buscar y corregir errores.
Perfecciona el código para que sea más eficaz.
Análisis de las operaciones matemáticas con enteros
Empiece con algunos cálculos básicos de enteros en C#.
1. En el editor de código, elimine el código predeterminado "Hello World".

En concreto, elimine la línea que dice Console.WriteLine("Hello World!"); .


2. En su lugar, escriba este código:

int a = 42;
int b = 119;
int c = a + b;
Console.WriteLine(c);
Console.ReadKey();

Tenga en cuenta que, al hacerlo, la función IntelliSense en Visual Studio le ofrece la opción de
autocompletar la entrada.

NOTE
La animación siguiente no está pensada para duplicar el código anterior. Su único fin es mostrar cómo funciona la
característica Autocompletar.
3. Elija el botón verde Inicio junto a Calculadora para compilar y ejecutar el programa, o presione F5 .

Se abre una ventana de consola que muestra la suma de 42+119, cuyo resultado es 161 .

4. (Opcional) Puede modificar el operador para cambiar el resultado. Por ejemplo, puede cambiar el
operador + en la línea de código int c = a + b; por - para la resta, * para la multiplicación o /
para la división. A continuación, al ejecutar el programa, el resultado también cambia.
5. Cierre la ventana de la consola.
1. En el Explorador de soluciones , en el panel derecho, seleccione Program.cs para mostrar el archivo
en el editor de código
2. En el editor de código, reemplace el código predeterminado "Hello World" que dice
Console.WriteLine("Hello World!"); .
Reemplace la línea por el código siguiente:

int a = 42;
int b = 119;
int c = a + b;
Console.WriteLine(c);
Console.ReadKey();

Si escribe el código, la característica IntelliSense de Visual Studio le ofrece la opción de autocompletar la


entrada.

NOTE
La animación siguiente no está pensada para mostrar el código anterior, sino solo para mostrar cómo funciona
IntelliSense.
3. Para compilar y ejecutar la aplicación, presione F5 o seleccione la flecha verde junto al nombre
Calculator en la barra de herramientas superior.

Se abre una ventana de consola que muestra la suma de 42+119, cuyo resultado es 161 .

4. Cierre la ventana de la consola.


5. Opcionalmente, puede modificar el operador para cambiar el resultado. Por ejemplo, puede cambiar el
operador + en la línea de código int c = a + b; por - para la resta, * para la multiplicación o /
para la división. Al ejecutar la aplicación, el resultado cambia en consecuencia.
Incorporación de código para crear una calculadora
Proceda a agregar al proyecto un conjunto más complejo de código de la calculadora.
1. En el editor de código, reemplace todo el código de program.cs por el siguiente código nuevo:
using System;

namespace Calculator
{
class Program
{
static void Main(string[] args)
{
// Declare variables and then initialize to zero.
int num1 = 0; int num2 = 0;

// Display title as the C# console calculator app.


Console.WriteLine("Console Calculator in C#\r");
Console.WriteLine("------------------------\n");

// Ask the user to type the first number.


Console.WriteLine("Type a number, and then press Enter");
num1 = Convert.ToInt32(Console.ReadLine());

// Ask the user to type the second number.


Console.WriteLine("Type another number, and then press Enter");
num2 = Convert.ToInt32(Console.ReadLine());

// Ask the user to choose an option.


Console.WriteLine("Choose an option from the following list:");
Console.WriteLine("\ta - Add");
Console.WriteLine("\ts - Subtract");
Console.WriteLine("\tm - Multiply");
Console.WriteLine("\td - Divide");
Console.Write("Your option? ");

// Use a switch statement to do the math.


switch (Console.ReadLine())
{
case "a":
Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
break;
case "s":
Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
break;
case "m":
Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
break;
case "d":
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
break;
}
// Wait for the user to respond before closing.
Console.Write("Press any key to close the Calculator console app...");
Console.ReadKey();
}
}
}

2. Seleccione el botón Calculator o presione F5 para ejecutar la aplicación.


Se abre una ventana de consola.
3. En la ventana de consola, siga las indicaciones para agregar los números 42 y 119 juntos.
La ventana de consola debe ser similar a la de la siguiente captura de pantalla:
Adición de funcionalidad decimal
Ahora, retoque el código para agregarle más funcionalidad.
La aplicación Calculator actual acepta y devuelve números enteros. Por ejemplo, si ejecuta la aplicación y divide
el número 42 entre el número 119, el resultado es cero, lo cual no es correcto.

Para corregir el código a fin de mejorar la precisión mediante el control de decimales:


1. En program.cs en el editor de Visual Studio, presione Ctrl +H para abrir el control Buscar y reemplazar .
2. Escriba int en el control y escriba float en el campo Reemplazar .
3. Seleccione los iconos de Coincidir mayúsculas y minúsculas y Solo palabras completas en el
control, o presione Alt +C y Alt +W .
4. Seleccione el icono Reemplazar todo o presione Alt +A para ejecutar la búsqueda y reemplazar.

5. Vuelva a ejecutar la aplicación Calculator y divida el número 42 entre el número 119 .


Ahora la aplicación devuelve un número decimal en lugar de cero.
Ahora la aplicación puede generar resultados decimales. Haga algunos retoques más en el código para que la
aplicación calcule decimales también.
1. Use el control Buscar y reemplazar para cambiar cada instancia de la variable float a double y
cambiar cada instancia del método Convert.ToInt32 a Convert.ToDouble .
2. Ejecute la aplicación Calculator y divida el número 42.5 entre el número 119.75 .
Ahora la aplicación acepta valores decimales y devuelve un número decimal más largo como resultado.

En la sección Revisar el código, reduce el número de posiciones decimales en los resultados.

Depurar la aplicación
Ha mejorado la aplicación de calculadora básica, pero la aplicación aún no controla las excepciones, como los
errores de entrada del usuario. Por ejemplo, si los usuarios intentan dividir entre cero o escribir un carácter
inesperado, es posible que la aplicación deje de funcionar, devuelva un error o devuelva un resultado no
numérico inesperado.
Vamos a ver algunos errores comunes de entrada de usuario, a localizarlos en el depurador si aparecen allí y a
corregirlos en el código.

TIP
Para más información sobre el depurador y cómo funciona, consulte Primer vistazo al depurador de Visual Studio.

Corregir el error "división entre cero"


Al intentar dividir un número entre cero, es posible que la aplicación de consola se inmovilice y, luego, muestre
el problema en el editor de código.
NOTE
A veces, la aplicación no se inmoviliza ni el depurador muestra un error de división por cero, sino que la aplicación puede
devolver un resultado no numérico inesperado, como un símbolo de infinito. La corrección de código siguiente sigue
siendo válida.

Para cambiar el código para controlar este error:


1. En program.cs, reemplace el código entre case "d": y el comentario que dice
// Wait for the user to respond before closing por el código siguiente:

// Ask the user to enter a non-zero divisor until they do so.


while (num2 == 0)
{
Console.WriteLine("Enter a non-zero divisor: ");
num2 = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
break;
}

Después de reemplazar el código, la sección con la instrucción switch debe ser similar a la de la
siguiente captura de pantalla:

Ahora, al dividir cualquier número entre cero, la aplicación pide otro número y sigue pidiendo hasta que
proporciona un número distinto de cero.
Corregir el error de "formato"
Si escribe un carácter alfabético cuando la aplicación espera un carácter numérico, la aplicación se inmoviliza.
Visual Studio señala qué es incorrecto en el editor de código.

Para evitar esta excepción, puede refactorizar el código que ha especificado anteriormente.
Revisar el código
En lugar de usar la clase program para controlar todo el código, puede dividir su aplicación en dos clases:
Calculator y Program .

La clase Calculator controla la mayor parte del trabajo de cálculo, mientras que la clase Program controla la
interfaz de usuario y el trabajo de captura de errores.
Comencemos.
1. En program.cs, elimine todo en el espacio de nombres Calculator entre las llaves de apertura y cierre:
using System;

namespace Calculator
{

2. Entre las llaves, agregue la siguiente clase Calculator nueva:

class Calculator
{
public static double DoOperation(double num1, double num2, string op)
{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.

// Use a switch statement to do the math.


switch (op)
{
case "a":
result = num1 + num2;
break;
case "s":
result = num1 - num2;
break;
case "m":
result = num1 * num2;
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}
}

3. Agregue también una nueva clase Program , como se indica a continuación:

class Program
{
static void Main(string[] args)
{
bool endApp = false;
// Display title as the C# console calculator app.
Console.WriteLine("Console Calculator in C#\r");
Console.WriteLine("------------------------\n");

while (!endApp)
{
// Declare variables and set to empty.
string numInput1 = "";
string numInput2 = "";
double result = 0;

// Ask the user to type the first number.


Console.Write("Type a number, and then press Enter: ");
numInput1 = Console.ReadLine();

double cleanNum1 = 0;
while (!double.TryParse(numInput1, out cleanNum1))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput1 = Console.ReadLine();
}

// Ask the user to type the second number.


Console.Write("Type another number, and then press Enter: ");
numInput2 = Console.ReadLine();

double cleanNum2 = 0;
while (!double.TryParse(numInput2, out cleanNum2))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput2 = Console.ReadLine();
}

// Ask the user to choose an operator.


Console.WriteLine("Choose an operator from the following list:");
Console.WriteLine("\ta - Add");
Console.WriteLine("\ts - Subtract");
Console.WriteLine("\tm - Multiply");
Console.WriteLine("\td - Divide");
Console.Write("Your option? ");

string op = Console.ReadLine();

try
{
result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
if (double.IsNaN(result))
{
Console.WriteLine("This operation will result in a mathematical error.\n");
}
else Console.WriteLine("Your result: {0:0.##}\n", result);
}
catch (Exception e)
{
Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: "
+ e.Message);
}

Console.WriteLine("------------------------\n");

// Wait for the user to respond before closing.


Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to
continue: ");
if (Console.ReadLine() == "n") endApp = true;

Console.WriteLine("\n"); // Friendly linespacing.


}
return;
}
}

4. Seleccione el botón Calculator o presione F5 para ejecutar la aplicación.


5. Siga las indicaciones y divida el número 42 entre el número 119 . Los resultados deben presentar un
aspecto similar al de la captura de pantalla siguiente:
Ahora puede escribir más ecuaciones hasta que decida cerrar la aplicación de consola. También hay
menos posiciones decimales en los resultados. Y si escribe un carácter incorrecto, obtendrá una respuesta
de error adecuada.

Cierre la aplicación
1. Si aún no lo ha hecho, cierre la aplicación de calculadora.
2. Cierre el panel Salida en Visual Studio.

3. En Visual Studio, presione Ctrl +G para guardar la aplicación.


Adición de control de código fuente Git
Ahora que ha creado una aplicación, es posible que quiera agregarla a un repositorio de Git. Tenemos lo que
necesita. Visual Studio facilita el proceso con las herramientas de Git que puede usar directamente desde el IDE.

TIP
Git es el sistema de control de versiones moderno más usado, por lo que, tanto si es un desarrollador profesional como si
está aprendiendo a codificar, Git puede ser muy útil. Si ha empezado a usar Git recientemente, el sitio web https://git-
scm.com/ es un buen punto de partida. Allí encontrará hojas de referencia rápida, un libro en línea conocido y vídeos de
conceptos básicos de Git.

Para asociar el código a Git, empiece por crear un nuevo repositorio de Git donde se encuentra el código. A
continuación se muestra cómo hacerlo:
1. En la barra de estado de la esquina inferior derecha de Visual Studio, seleccione Agregar al control de
código fuente y, a continuación, Git .

2. Cuadro de diálogo Crear un repositorio GIT inicie sesión en GitHub.

El nombre del repositorio se rellena automáticamente en función de la ubicación de la carpeta. De forma


predeterminada, el nuevo repositorio es privado, lo que significa que usted es el único que puede acceder
a él.
TIP
Tanto si el repositorio es público como privado, es mejor tener una copia de seguridad remota del código
almacenada de forma segura en GitHub. Incluso si no trabaja con un equipo, un repositorio remoto pone el
código a su disposición desde cualquier equipo.

3. Seleccione Crear e inser tar .


Después de crear el repositorio, verá los detalles de estado en la barra de estado.

El primer icono con las flechas muestra cuántas confirmaciones salientes o entrantes hay en la rama
actual. Puede usar este icono para extraer las confirmaciones entrantes o insertar las confirmaciones
salientes. Puede elegir ver estas confirmaciones en primer lugar. Para ello, seleccione el icono y, a
continuación, Ver salientes y entrantes .
El segundo icono con el lápiz muestra el número de cambios no confirmados en el código. Puede
seleccionar este icono para ver esos cambios en la ventana Cambios de Git .
Para obtener más información sobre cómo usar Git con la aplicación, consulte la documentación del control de
versiones de Visual Studio.

Revisión: código completado


En este tutorial, ha realizado muchos cambios en la aplicación de calculadora. Ahora la aplicación controla los
recursos de cálculo más eficazmente y trata la mayoría de los errores de entrada de usuario.
Este es el código completo:

using System;

namespace Calculator
{
class Calculator
{
public static double DoOperation(double num1, double num2, string op)
{
double result = double.NaN; // Default value is "not-a-number" which we use if an operation,
such as division, could result in an error.

// Use a switch statement to do the math.


switch (op)
{
case "a":
result = num1 + num2;
break;
case "s":
result = num1 - num2;
break;
case "m":
result = num1 * num2;
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
{
result = num1 / num2;
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}
}

class Program
{
static void Main(string[] args)
{
bool endApp = false;
// Display title as the C# console calculator app.
Console.WriteLine("Console Calculator in C#\r");
Console.WriteLine("------------------------\n");

while (!endApp)
{
// Declare variables and set to empty.
string numInput1 = "";
string numInput2 = "";
double result = 0;

// Ask the user to type the first number.


Console.Write("Type a number, and then press Enter: ");
numInput1 = Console.ReadLine();

double cleanNum1 = 0;
while (!double.TryParse(numInput1, out cleanNum1))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput1 = Console.ReadLine();
}

// Ask the user to type the second number.


Console.Write("Type another number, and then press Enter: ");
numInput2 = Console.ReadLine();

double cleanNum2 = 0;
while (!double.TryParse(numInput2, out cleanNum2))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput2 = Console.ReadLine();
}

// Ask the user to choose an operator.


Console.WriteLine("Choose an operator from the following list:");
Console.WriteLine("\ta - Add");
Console.WriteLine("\ts - Subtract");
Console.WriteLine("\tm - Multiply");
Console.WriteLine("\td - Divide");
Console.Write("Your option? ");

string op = Console.ReadLine();

try
{
result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
if (double.IsNaN(result))
{
Console.WriteLine("This operation will result in a mathematical error.\n");
}
else Console.WriteLine("Your result: {0:0.##}\n", result);
}
catch (Exception e)
catch (Exception e)
{
Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " +
e.Message);
}

Console.WriteLine("------------------------\n");

// Wait for the user to respond before closing.


Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to
continue: ");
if (Console.ReadLine() == "n") endApp = true;

Console.WriteLine("\n"); // Friendly linespacing.


}
return;
}
}
}

Pasos siguientes
Continúe con más tutoriales:
Tutoriales de C#
Un paseo por el IDE de Visual Studio
Continúe con la segunda parte de este tutorial:
Parte 2 del tutorial: Ampliación de la aplicación de consola de C# y depuración
Tutorial: Ampliación de la aplicación de consola de
C# y depuración en Visual Studio (parte 2 de 2)
11/11/2021 • 20 minutes to read

En la parte 2 de esta serie de tutoriales, profundizará un poco más en las características de compilación y
depuración de Visual Studio que necesitará para el desarrollo diario. Entre estas características, se incluyen la
administración de varios proyectos, la depuración y la referencia a paquetes de terceros. Ejecutará la aplicación
de consola de C# que creó en la parte 1 de este tutorial y explorará algunas características del entorno de
desarrollo integrado (IDE) de Visual Studio. Este tutorial es la segunda parte de una serie de tutoriales de dos
partes.
En este tutorial, hizo lo siguiente:
Agregar un segundo proyecto.
Hacer referencia a bibliotecas y agregar paquetes.
Realizar más tareas de depuración.
Inspeccionar el código completo.

Requisitos previos
Para trabajar con este artículo, puede usar cualquiera de estas aplicaciones de calculadora:
La aplicación de consola Calculator de la parte 1 de este tutorial.
La aplicación Calculator de C# del repositorio vs-tutorial-samples. Para empezar, abra la aplicación desde el
repositorio.

Adición de otro proyecto


El código real está formado por varios proyectos que funcionan conjuntamente para dar lugar a una solución.
Puede agregar un proyecto de biblioteca de clases a la aplicación Calculator que proporcione algunas funciones
de calculadora.
En Visual Studio, use el comando de menú Archivo > Agregar > Nuevo proyecto para agregar un nuevo
proyecto. También puede hacer clic con el botón derecho en la solución en el Explorador de soluciones para
agregar un proyecto desde el menú contextual.
1. En el Explorador de soluciones , haga clic con el botón derecho en el nodo de la solución y seleccione
Agregar > Nuevo proyecto .
2. En la ventana Agregar un nuevo proyecto , escriba biblioteca de clases en el cuadro de búsqueda. Elija
la plantilla de proyecto Biblioteca de clases de C# y seleccione Siguiente .
3. En la pantalla Configurar el nuevo proyecto , escriba el nombre del proyecto CalculatorLibrary y,
después, seleccione Siguiente .
4. Elija .NET 3.1 cuando se le solicite. Visual Studio crea el proyecto y lo agrega a la solución.

5. Cambie el nombre del archivo Class1.cs a CalculatorLibrary.cs. Para cambiar el nombre del archivo, puede
hacer clic con el botón derecho en el nombre en el Explorador de soluciones y elegir Cambiar
nombre , seleccionar el nombre y presionar F2 o seleccionar el nombre y volver a hacer clic para escribir.
Un mensaje podría preguntarle si quiere cambiar el nombre de las referencias a Class1 en el archivo. No
importa qué responda en este momento, ya que reemplazará el código en un paso posterior.
6. Ahora agregue una referencia de proyecto para que el primer proyecto pueda usar las API que expone la
nueva biblioteca de clases. Haga clic con el botón derecho en el nodo Dependencias del proyecto
Calculator y seleccione Agregar referencia de proyecto .
Aparecerá el cuadro de diálogo Administrador de referencias . En este cuadro de diálogo, puede
agregar referencias a otros proyectos, ensamblados y DLL COM que los proyectos necesiten.
7. En el cuadro de diálogo Administrador de referencias , active la casilla correspondiente al proyecto
CalculatorLibrar y y seleccione Aceptar .

La referencia del proyecto aparece en un nodo Proyectos en el Explorador de soluciones .


8. En Program.cs, seleccione la clase Calculator y todo su código y presione CTRL +X para cortarla.
Después, en CalculatorLibrary.cs, pegue el código en el espacio de nombres CalculatorLibrary .
Agregue también public antes de la clase Calculator para exponerla fuera de la biblioteca.
CalculatorLibrary.cs debería tener ahora un aspecto similar al del código siguiente:

using System;

namespace CalculatorLibrary
{
public class Calculator
{
public static double DoOperation(double num1, double num2, string op)
{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.

// Use a switch statement to do the math.


switch (op)
{
case "a":
result = num1 + num2;
break;
case "s":
result = num1 - num2;
break;
case "m":
result = num1 * num2;
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}
}
}

9. Program.cs también tiene una referencia, pero un error indica que la llamada a Calculator.DoOperation
no se resuelve. Esto se debe a que CalculatorLibrary se encuentra en un espacio de nombres diferente.
Para obtener una referencia completa, podría agregar el espacio de nombres CalculatorLibrary a la
llamada a Calculator.DoOperation :

result = CalculatorLibrary.Calculator.DoOperation(cleanNum1, cleanNum2, op);

También podría probar a agregar una directiva using al principio del archivo:

using CalculatorLibrary;

La adición de la directiva using debería permitirle quitar el espacio de nombres CalculatorLibrary del
sitio de llamada, pero ahora hay una ambigüedad. ¿Es Calculator la clase de CalculatorLibrary , o bien
es Calculator el espacio de nombres?
Para resolver la ambigüedad, cambie el nombre del espacio de nombres de Calculator a
CalculatorProgram en Program.cs y en CalculatorLibrary.cs.

namespace CalculatorProgram

1. En el Explorador de soluciones , haga clic con el botón derecho en el nodo de la solución y seleccione
Agregar > Nuevo proyecto .
2. En la ventana Agregar un nuevo proyecto , escriba biblioteca de clases en el cuadro de búsqueda. Elija
la plantilla de proyecto Biblioteca de clases de C# y seleccione Siguiente .

3. En la pantalla Configurar el nuevo proyecto , escriba el nombre del proyecto CalculatorLibrary y,


después, seleccione Siguiente .
4. En la pantalla Información adicional , está seleccionado .NET 6.0. Seleccione Crear .
Visual Studio crea el proyecto y lo agrega a la solución.
5. Cambie el nombre del archivo Class1.cs a CalculatorLibrary.cs. Para cambiar el nombre del archivo, puede
hacer clic con el botón derecho en el nombre en el Explorador de soluciones y elegir Cambiar
nombre , seleccionar el nombre y presionar F2 o seleccionar el nombre y volver a hacer clic para escribir.
Un mensaje podría preguntarle si quiere cambiar el nombre de las referencias a Class1 en el archivo. No
importa qué responda en este momento, ya que reemplazará el código en un paso posterior.
6. Ahora agregue una referencia de proyecto para que el primer proyecto pueda usar las API que expone la
nueva biblioteca de clases. Haga clic con el botón derecho en el nodo Dependencias del proyecto
Calculator y seleccione Agregar referencia de proyecto .

Aparecerá el cuadro de diálogo Administrador de referencias . En este cuadro de diálogo, puede


agregar referencias a otros proyectos, ensamblados y DLL COM que los proyectos necesiten.
7. En el cuadro de diálogo Administrador de referencias , active la casilla correspondiente al proyecto
CalculatorLibrar y y seleccione Aceptar .
La referencia del proyecto aparece en un nodo Proyectos en el Explorador de soluciones .

8. En Program.cs, seleccione la clase Calculator y todo su código y presione CTRL +X para cortarla.
Después, en CalculatorLibrary.cs, pegue el código en el espacio de nombres CalculatorLibrary .
Agregue también public antes de la clase Calculator para exponerla fuera de la biblioteca.
CalculatorLibrary.cs debería tener ahora un aspecto similar al del código siguiente:
using System;

namespace CalculatorLibrary
{
public class Calculator
{
public static double DoOperation(double num1, double num2, string op)
{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.

// Use a switch statement to do the math.


switch (op)
{
case "a":
result = num1 + num2;
break;
case "s":
result = num1 - num2;
break;
case "m":
result = num1 * num2;
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}
}
}

9. Program.cs también tiene una referencia, pero un error indica que la llamada a Calculator.DoOperation
no se resuelve. Esto se debe a que CalculatorLibrary se encuentra en un espacio de nombres diferente.
Para obtener una referencia completa, podría agregar el espacio de nombres CalculatorLibrary a la
llamada a Calculator.DoOperation :

result = CalculatorLibrary.Calculator.DoOperation(cleanNum1, cleanNum2, op);

También podría probar a agregar una directiva using al principio del archivo:

using CalculatorLibrary;

La adición de la directiva using debería permitirle quitar el espacio de nombres CalculatorLibrary del
sitio de llamada, pero ahora hay una ambigüedad. ¿Es Calculator la clase de CalculatorLibrary , o bien
es Calculator el espacio de nombres?
Para resolver la ambigüedad, cambie el nombre del espacio de nombres de Calculator a
CalculatorProgram en Program.cs y en CalculatorLibrary.cs.

namespace CalculatorProgram
Referencia a bibliotecas de .NET: escritura en un registro
Puede usar la clase Trace de .NET para agregar un registro de todas las operaciones y escribirlo en un archivo
de texto. La clase Trace también es útil para las técnicas básicas de impresión de la depuración. La clase Trace
está en System.Diagnostics y usa clases System.IO como StreamWriter .
1. Empiece agregando las directivas using en la parte superior de CalculatorLibrary.cs:

using System.IO;
using System.Diagnostics;

2. Este uso de la clase Trace debe mantener una referencia para la clase, que asocia a una secuencia de
archivos. Este requisito significa que la calculadora funciona mejor como un objeto, por lo que debe
agregar un constructor al principio de la clase Calculator en CalculatorLibrary.cs.
Además, elimine la palabra clave static para cambiar el método estático DoOperation por un método
de miembro.

public Calculator()
{
StreamWriter logFile = File.CreateText("calculator.log");
Trace.Listeners.Add(new TextWriterTraceListener(logFile));
Trace.AutoFlush = true;
Trace.WriteLine("Starting Calculator Log");
Trace.WriteLine(String.Format("Started {0}", System.DateTime.Now.ToString()));
}

public double DoOperation(double num1, double num2, string op)


{

3. Agregue la salida del registro a cada cálculo. DoOperation debería tener ahora un aspecto similar al del
código siguiente:
public double DoOperation(double num1, double num2, string op)
{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.

// Use a switch statement to do the math.


switch (op)
{
case "a":
result = num1 + num2;
Trace.WriteLine(String.Format("{0} + {1} = {2}", num1, num2, result));
break;
case "s":
result = num1 - num2;
Trace.WriteLine(String.Format("{0} - {1} = {2}", num1, num2, result));
break;
case "m":
result = num1 * num2;
Trace.WriteLine(String.Format("{0} * {1} = {2}", num1, num2, result));
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
Trace.WriteLine(String.Format("{0} / {1} = {2}", num1, num2, result));
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}

4. En Program.cs, un subrayado ondulado rojo marca ahora la llamada estática. Para corregir este error,
agregue la línea de código siguiente justo antes del bucle while (!endApp) para crear una variable
calculator :

Calculator calculator = new Calculator();

Modifique también el sitio de llamada DoOperation para que haga referencia al objeto denominado
calculator en minúsculas. El código es ahora una invocación de miembro, en lugar de una llamada a un
método estático.

result = calculator.DoOperation(cleanNum1, cleanNum2, op);

5. Ejecute la aplicación de nuevo. Cuando haya terminado, haga clic con el botón derecho en el nodo de
proyecto Calculator y elija Abrir la carpeta en el Explorador de archivos .
6. En el Explorador de archivos, vaya a la carpeta de salida en bin/Debug/ y abra el archivo calculator.log. El
resultado debe parecerse a este:

Starting Calculator Log


Started 7/9/2020 1:58:19 PM
1 + 2 = 3
3 * 3 = 9

El aspecto de CalculatorLibrary.cs ahora debería ser similar al del código siguiente:


using System;
using System.IO;
using System.Diagnostics;

namespace CalculatorLibrary
{
public class Calculator
{

public Calculator()
{
StreamWriter logFile = File.CreateText("calculator.log");
Trace.Listeners.Add(new TextWriterTraceListener(logFile));
Trace.AutoFlush = true;
Trace.WriteLine("Starting Calculator Log");
Trace.WriteLine(String.Format("Started {0}", System.DateTime.Now.ToString()));
}

public double DoOperation(double num1, double num2, string op)


{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.

// Use a switch statement to do the math.


switch (op)
{
case "a":
result = num1 + num2;
Trace.WriteLine(String.Format("{0} + {1} = {2}", num1, num2, result));
break;
case "s":
result = num1 - num2;
Trace.WriteLine(String.Format("{0} - {1} = {2}", num1, num2, result));
break;
case "m":
result = num1 * num2;
Trace.WriteLine(String.Format("{0} * {1} = {2}", num1, num2, result));
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
Trace.WriteLine(String.Format("{0} / {1} = {2}", num1, num2, result));
}
break;
// Return text for an incorrect option entry.
default:
break;
}
return result;
}
}
}

El aspecto de Program.cs debería ser similar al del código siguiente:

using System;
using CalculatorLibrary;

namespace CalculatorProgram
{

class Program
{
static void Main(string[] args)
{
bool endApp = false;
// Display title as the C# console calculator app.
Console.WriteLine("Console Calculator in C#\r");
Console.WriteLine("------------------------\n");

Calculator calculator = new Calculator();


while (!endApp)
{
// Declare variables and set to empty.
string numInput1 = "";
string numInput2 = "";
double result = 0;

// Ask the user to type the first number.


Console.Write("Type a number, and then press Enter: ");
numInput1 = Console.ReadLine();

double cleanNum1 = 0;
while (!double.TryParse(numInput1, out cleanNum1))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput1 = Console.ReadLine();
}

// Ask the user to type the second number.


Console.Write("Type another number, and then press Enter: ");
numInput2 = Console.ReadLine();

double cleanNum2 = 0;
while (!double.TryParse(numInput2, out cleanNum2))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput2 = Console.ReadLine();
}

// Ask the user to choose an operator.


Console.WriteLine("Choose an operator from the following list:");
Console.WriteLine("\ta - Add");
Console.WriteLine("\ts - Subtract");
Console.WriteLine("\tm - Multiply");
Console.WriteLine("\td - Divide");
Console.Write("Your option? ");

string op = Console.ReadLine();

try
{
result = calculator.DoOperation(cleanNum1, cleanNum2, op);
if (double.IsNaN(result))
{
Console.WriteLine("This operation will result in a mathematical error.\n");
}
else Console.WriteLine("Your result: {0:0.##}\n", result);
}
catch (Exception e)
{
Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " +
e.Message);
}

Console.WriteLine("------------------------\n");

// Wait for the user to respond before closing.


Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to
continue: ");
if (Console.ReadLine() == "n") endApp = true;
Console.WriteLine("\n"); // Friendly linespacing.
}
return;
}
}
}

Incorporación de un paquete NuGet: escritura en un archivo JSON


Para generar operaciones en JSON (un formato popular y portátil para almacenar datos de objeto), puede hacer
referencia al paquete NuGet Newtonsoft.Json. Los paquetes NuGet son el método de distribución principal de
las bibliotecas de clases de .NET.
1. En el Explorador de soluciones , haga clic con el botón derecho en el nodo Dependencias del
proyecto CalculatorLibrar y y seleccione Administrar paquetes NuGet .
Se abrirá el administrador de paquetes NuGet.
2. Busque y seleccione el paquete Newtonsoft.Json y seleccione Instalar .

Visual Studio descarga el paquete y lo agrega al proyecto. Aparece una nueva entrada en el nodo
Referencias del Explorador de soluciones .
Si se le pregunta si quiere aceptar los cambios, seleccione Aceptar .
Visual Studio descarga el paquete y lo agrega al proyecto. Aparece una nueva entrada en el nodo
Paquetes del Explorador de soluciones .
3. Agregue una directiva using para Newtonsoft.Json al principio de CalculatorLibrary.cs.

using Newtonsoft.Json;

4. Cree el objeto miembro JsonWriter y reemplace el constructor Calculator por el código siguiente:

JsonWriter writer;

public Calculator()
{
StreamWriter logFile = File.CreateText("calculatorlog.json");
logFile.AutoFlush = true;
writer = new JsonTextWriter(logFile);
writer.Formatting = Formatting.Indented;
writer.WriteStartObject();
writer.WritePropertyName("Operations");
writer.WriteStartArray();
}
5. Modifique el método DoOperation para agregar el código writer de JSON:

public double DoOperation(double num1, double num2, string op)


{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.
writer.WriteStartObject();
writer.WritePropertyName("Operand1");
writer.WriteValue(num1);
writer.WritePropertyName("Operand2");
writer.WriteValue(num2);
writer.WritePropertyName("Operation");
// Use a switch statement to do the math.
switch (op)
{
case "a":
result = num1 + num2;
writer.WriteValue("Add");
break;
case "s":
result = num1 - num2;
writer.WriteValue("Subtract");
break;
case "m":
result = num1 * num2;
writer.WriteValue("Multiply");
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
writer.WriteValue("Divide");
}
break;
// Return text for an incorrect option entry.
default:
break;
}
writer.WritePropertyName("Result");
writer.WriteValue(result);
writer.WriteEndObject();

return result;
}

6. Agregue un método para finalizar la sintaxis de JSON una vez que el usuario haya acabado de escribir los
datos de la operación.

public void Finish()


{
writer.WriteEndArray();
writer.WriteEndObject();
writer.Close();
}

7. Al final de Program.cs, antes de return; , agregue una llamada a Finish :

// Add call to close the JSON writer before return


calculator.Finish();
return;
}
8. Compile y ejecute la aplicación y, cuando acabe de escribir algunas operaciones, cierre la aplicación
mediante el comando n.
9. Abra el archivo calculatorlog.json en el Explorador de archivos. Debería ver algo parecido al contenido
siguiente:

{
"Operations": [
{
"Operand1": 2.0,
"Operand2": 3.0,
"Operation": "Add",
"Result": 5.0
},
{
"Operand1": 3.0,
"Operand2": 4.0,
"Operation": "Multiply",
"Result": 12.0
}
]
}

Depuración: establecimiento y uso de los puntos de interrupción


El depurador de Visual Studio es una herramienta eficaz. El depurador puede recorrer el código paso a paso
para encontrar el punto exacto en el que hay un error de programación. De este modo, entenderá qué
correcciones debe realizar y podrá introducir cambios temporales para poder seguir ejecutando la aplicación.
1. En Program.cs, haga clic en el medianil situado a la izquierda de la siguiente línea de código. También
puede hacer clic en la línea y seleccionar F9 , o bien hacer clic con el botón derecho en la línea y
seleccionar Punto de interrupción > Inser tar punto de interrupción .

result = calculator.DoOperation(cleanNum1, cleanNum2, op);

El punto rojo que aparece indica un punto de interrupción. Puede usar puntos de interrupción para
pausar la aplicación e inspeccionar el código. Puede establecer un punto de interrupción en cualquier
línea de código ejecutable.

2. Compile y ejecute la aplicación. Escriba los siguientes valores para el cálculo:


Para el primer número, escriba 8.
Para el segundo número, escriba 0.
Para el operador, divirtámonos un poco: escriba d.
La aplicación se suspende en el punto en el que creó el punto de interrupción, que se indica mediante el
puntero amarillo de la izquierda y el código resaltado. El código resaltado todavía no se ha ejecutado.
Ahora, con la aplicación suspendida, puede inspeccionar el estado de la aplicación.

Depuración: ver variables


1. En el código resaltado, mantenga el puntero sobre variables como cleanNum1 y op . Los valores actuales
de estas variables ( 8 y d , respectivamente) aparecen en la información sobre datos.

Durante la depuración, suele ser fundamental para corregir los problemas comprobar si las variables
contienen los valores que se esperan.
2. En el panel inferior, examine la ventana Variables locales . Si está cerrada, seleccione Depurar >
Ventanas > Variables locales para abrirla.
En la ventana Variables locales se muestra cada variable que está actualmente en el ámbito, junto con
su valor y tipo.

3. Fíjese en la ventana Automático .


La ventana Automático es similar a la ventana Variables locales , pero muestra las variables
inmediatamente anteriores y posteriores a la línea de código actual en la que está pausada la aplicación.
A continuación, ejecute el código en el depurador instrucción por instrucción, lo que se denomina ejecución
paso a paso.

Depuración: examinar el código


1. Presione F11 o seleccione Depurar > Depurar paso a paso por instrucciones .
Con el comando Depurar paso a paso por instrucciones, la aplicación ejecuta la instrucción actual y
avanza a la siguiente instrucción ejecutable (normalmente la siguiente línea de código). El puntero
amarillo de la izquierda siempre indica la instrucción actual.

Acaba de depurar paso a paso por instrucciones el método DoOperation de la clase Calculator .
2. Para obtener una visión jerárquica del flujo del programa, examine la ventana Pila de llamadas . Si está
cerrada, seleccione Depurar > Ventanas > Pila de llamadas para abrirla.

Esta vista muestra el método Calculator.DoOperation actual, indicado por el puntero amarillo. La
segunda fila muestra la función que llamó al método, desde el método Main en Program.cs.
En la ventana Pila de llamadas se muestra el orden en el que se llama a los métodos y las funciones.
Esta ventana también proporciona acceso a muchas características del depurador, como Ir al código
fuente , en el menú contextual.
3. Presione F10 (o seleccione Depurar > Depurar paso a paso por procedimientos ) varias veces hasta
que la aplicación se pause en la instrucción switch .

switch (op)
{

El comando Depurar paso a paso por procedimientos es similar al comando Depurar paso a paso por
instrucciones, salvo que si la instrucción actual llama a una función, el depurador ejecuta el código de la
función y no suspende la ejecución hasta que la función vuelve. Depurar paso a paso por procedimientos
es más rápido que Depurar paso a paso por instrucciones si no está interesado en una función
determinada.
4. Presione F10 una vez más para que la aplicación se pause en la siguiente línea de código.

if (num2 != 0)
{

Este código comprueba si hay un caso de división por cero. Si la aplicación continúa, iniciará una
excepción general (un error), pero podría interesarle probar algo más, como ver el valor devuelto real en
la consola. Una opción consiste en usar una característica del depurador denominada Editar y continuar
para realizar cambios en el código y luego seguir con la depuración. También hay un truco diferente para
modificar temporalmente el flujo de ejecución.

Depuración: probar un cambio temporal


1. Seleccione el puntero amarillo, actualmente en pausa en la instrucción if (num2 != 0) , y arrástrelo a la
siguiente instrucción:

result = num1 / num2;

Si arrastra el puntero hasta aquí, la aplicación omite completamente la instrucción if , por lo que puede
ver lo que sucede cuando se divide por cero.
2. Presione F10 para ejecutar la línea de código.
3. Si mantiene el puntero sobre la variable result , se muestra un valor de infinito . En C#, infinito es el
resultado de dividir por cero.
4. Presione F5 o seleccione Depurar > Continuar depurando .
El símbolo de infinito aparece en la consola como el resultado de la operación matemática.
5. Cierre la aplicación correctamente mediante el comando n.

Código completo
Este es el código completo del archivo CalculatorLibrary.cs después de completar todos los pasos:

using System;
using System.IO;
using System.Diagnostics;
using Newtonsoft.Json;

namespace CalculatorLibrary
{
public class Calculator
{

JsonWriter writer;

public Calculator()
{
StreamWriter logFile = File.CreateText("calculatorlog.json");
logFile.AutoFlush = true;
writer = new JsonTextWriter(logFile);
writer.Formatting = Formatting.Indented;
writer.WriteStartObject();
writer.WritePropertyName("Operations");
writer.WriteStartArray();
}

public double DoOperation(double num1, double num2, string op)


{
double result = double.NaN; // Default value is "not-a-number" if an operation, such as
division, could result in an error.
writer.WriteStartObject();
writer.WritePropertyName("Operand1");
writer.WriteValue(num1);
writer.WritePropertyName("Operand2");
writer.WriteValue(num2);
writer.WriteValue(num2);
writer.WritePropertyName("Operation");
// Use a switch statement to do the math.
switch (op)
{
case "a":
result = num1 + num2;
writer.WriteValue("Add");
break;
case "s":
result = num1 - num2;
writer.WriteValue("Subtract");
break;
case "m":
result = num1 * num2;
writer.WriteValue("Multiply");
break;
case "d":
// Ask the user to enter a non-zero divisor.
if (num2 != 0)
{
result = num1 / num2;
writer.WriteValue("Divide");
}
break;
// Return text for an incorrect option entry.
default:
break;
}
writer.WritePropertyName("Result");
writer.WriteValue(result);
writer.WriteEndObject();

return result;
}

public void Finish()


{
writer.WriteEndArray();
writer.WriteEndObject();
writer.Close();
}
}
}

Y este es el código de Program.cs:

using System;
using CalculatorLibrary;

namespace CalculatorProgram
{

class Program
{
static void Main(string[] args)
{
bool endApp = false;
// Display title as the C# console calculator app.
Console.WriteLine("Console Calculator in C#\r");
Console.WriteLine("------------------------\n");

Calculator calculator = new Calculator();


while (!endApp)
{
// Declare variables and set to empty.
string numInput1 = "";
string numInput2 = "";
string numInput2 = "";
double result = 0;

// Ask the user to type the first number.


Console.Write("Type a number, and then press Enter: ");
numInput1 = Console.ReadLine();

double cleanNum1 = 0;
while (!double.TryParse(numInput1, out cleanNum1))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput1 = Console.ReadLine();
}

// Ask the user to type the second number.


Console.Write("Type another number, and then press Enter: ");
numInput2 = Console.ReadLine();

double cleanNum2 = 0;
while (!double.TryParse(numInput2, out cleanNum2))
{
Console.Write("This is not valid input. Please enter an integer value: ");
numInput2 = Console.ReadLine();
}

// Ask the user to choose an operator.


Console.WriteLine("Choose an operator from the following list:");
Console.WriteLine("\ta - Add");
Console.WriteLine("\ts - Subtract");
Console.WriteLine("\tm - Multiply");
Console.WriteLine("\td - Divide");
Console.Write("Your option? ");

string op = Console.ReadLine();

try
{
result = calculator.DoOperation(cleanNum1, cleanNum2, op);
if (double.IsNaN(result))
{
Console.WriteLine("This operation will result in a mathematical error.\n");
}
else Console.WriteLine("Your result: {0:0.##}\n", result);
}
catch (Exception e)
{
Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " +
e.Message);
}

Console.WriteLine("------------------------\n");

// Wait for the user to respond before closing.


Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to
continue: ");
if (Console.ReadLine() == "n") endApp = true;

Console.WriteLine("\n"); // Friendly linespacing.


}
calculator.Finish();
return;
}
}
}

Pasos siguientes
Enhorabuena por completar este tutorial. Para obtener más información, continúe con el contenido siguiente:
Más tutoriales de C#
Inicio rápido: Creación de una aplicación web ASP.NET Core
Información sobre cómo depurar código de C# con Visual Studio
Tutorial sobre cómo crear y ejecutar pruebas unitarias
Ejecución de un programa de C#
Información sobre IntelliSense para C#
Información general sobre el IDE de Visual Studio
Tutorial: Introducción a C# y ASP.NET Core en
Visual Studio
11/11/2021 • 17 minutes to read

En este tutorial para el desarrollo de C# con ASP.NET Core mediante Visual Studio, creará una aplicación web de
C# ASP.NET Core, realizará cambios en ella, explorará algunas características del IDE y luego ejecutará la
aplicación.

Prerrequisitos
1. Instalar Visual Studio
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de
forma gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de
forma gratuita.
2. Actualización de Visual Studio: si ya ha instalado Visual Studio, asegúrese de que ejecuta la versión más
reciente. Para obtener más información sobre cómo actualizar la instalación, vea la página Actualización
de Visual Studio a la versión más reciente.
3. Elección del tema (opcional): en este tutorial se incluyen capturas de pantalla que usan el tema oscuro.
Puede visitar la página Personalización del IDE y el editor de Visual Studio para obtener información
sobre cómo hacerlo.

Crear un proyecto
En primer lugar, creará un proyecto de ASP.NET Core. En el tipo de proyecto se incluyen todos los archivos de
plantilla que se necesitarán para un sitio web completamente funcional, sin necesidad de agregar nada más.
1. Abra Visual Studio 2017.
2. En la barra de menús superior, elija Archivo > Nuevo > Proyecto .
3. En el panel de la izquierda del cuadro de diálogo Nuevo proyecto , expanda Visual C# , expanda Web y
después seleccione .NET Core . En el panel central, elija Aplicación web ASP.NET Core . Después,
asigne el nombre del archivo MyCoreApp y elija Aceptar .
Agregar una carga de trabajo (opcional)
Si no ve la plantilla de proyecto Aplicación web ASP.NET Core , puede obtenerla mediante la adición de la
carga de trabajo Desarrollo de ASP.NET y web . Puede agregar esta carga de trabajo de una de las dos formas
siguientes, según las actualizaciones de Visual Studio 2017 que estén instaladas en el equipo.
Opción 1: Uso del cuadro de diálogo Nuevo proyecto
1. Seleccione el vínculo Abrir el Instalador de Visual Studio en el panel de la izquierda del cuadro de
diálogo Nuevo proyecto . (Según la configuración de pantalla, es posible que tenga que desplazarse
para verlo).

2. Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de ASP.NET y web y
después haga clic en Modificar .

(Es posible que deba cerrar Visual Studio para continuar con la instalación de la carga de trabajo nueva).
Opción 2: Uso de la barra del menú Herramientas
1. Cancele el cuadro de diálogo Nuevo proyecto . Después, en la barra de menús, elija Herramientas >
Obtener herramientas y características .
2. Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de ASP.NET y web y
después haga clic en Modificar .
(Es posible que deba cerrar Visual Studio para continuar con la instalación de la carga de trabajo nueva).
Agregar una plantilla de proyecto
1. En el cuadro de diálogo Nueva aplicación web ASP.NET Core , seleccione la plantilla de proyecto
Aplicación web .
2. Compruebe que ASP.NET Core 2.1 aparece en el menú desplegable superior. Después, elija Aceptar .

NOTE
Si no ve ASP.NET Core 2.1 en el menú desplegable superior, asegúrese de que se ejecuta la versión más reciente
de Visual Studio. Para obtener más información sobre cómo actualizar la instalación, vea la página Actualización de
Visual Studio a la versión más reciente.

1. En la ventana de inicio, elija Crear un nuevo proyecto .


2. En la ventana Crear un nuevo proyecto , elija C# en la lista Idioma. A continuación, seleccione
Windows en la lista Plataforma y Web en la lista Tipos de proyecto.
Después de aplicar los filtros de lenguaje, plataforma y tipo de proyecto, elija la plantilla Aplicación web
ASP.NET Core y, luego, Siguiente .
NOTE
Si no ve la plantilla Aplicación web ASP.NET Core , puede instalarla desde la ventana Crear un nuevo
proyecto . En el mensaje ¿No encuentra lo que busca? , elija el vínculo Instalar más herramientas y
características .

Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de ASP.NET y web .

Después, elija el botón Modificar en el Instalador de Visual Studio. Si se le pide que guarde su trabajo, hágalo.
Seguidamente, elija Continuar para instalar la carga de trabajo. Luego, vuelva al paso 2 de este procedimiento
"Crear un proyecto".

3. En la ventana Configurar el nuevo proyecto , escriba MyCoreApp en el cuadro Nombre del


proyecto . Después, elija Siguiente .

4. En la ventana Información adicional , compruebe que .NET Core 3.1 aparece en el menú desplegable
superior. Tenga en cuenta que puede habilitar la compatibilidad con Docker activando la casilla. También
puede agregar compatibilidad con la autenticación, para lo que debe hacer clic en el botón Cambiar
autenticación. Ahí, puede elegir entre las siguientes opciones:
Ninguna: sin autenticación.
Cuentas individuales: se almacenan en una base de datos local o basada en Azure.
Plataforma de identidad de Microsoft: esta opción usa Active Directory, Azure AD o Microsoft 365 para
la autenticación.
Windows: conveniente para las aplicaciones de intranet.
Deje desactivada la casilla Habilitar Docker y seleccione Ninguno en Tipo de autenticación. Seleccione
Crear .

Visual Studio abrirá el nuevo proyecto.


1. En la ventana de inicio, elija Crear un nuevo proyecto .

2. En la ventana Crear un nuevo proyecto , elija C# en la lista Idioma. A continuación, seleccione


Windows en la lista Plataforma y Web en la lista Tipos de proyecto.
Después de aplicar los filtros de lenguaje, plataforma y tipo de proyecto, elija la plantilla Aplicación web
ASP.NET Core y, luego, Siguiente .
NOTE
Si no ve la plantilla Aplicación web ASP.NET Core , puede instalarla desde la ventana Crear un nuevo
proyecto . En el mensaje ¿No encuentra lo que busca? , elija el vínculo Instalar más herramientas y
características .

Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de ASP.NET y web .

Después, elija el botón Modificar en el Instalador de Visual Studio. Si se le pide que guarde su trabajo, hágalo.
Seguidamente, elija Continuar para instalar la carga de trabajo. Luego, vuelva al paso 2 de este procedimiento
"Crear un proyecto".

3. En la ventana Configurar el nuevo proyecto , escriba MyCoreApp en el cuadro Nombre del


proyecto . Después, elija Siguiente .
4. En la ventana Información adicional , compruebe que .NET 6.0 aparece en el campo Marco . En esta
ventana, puede habilitar la compatibilidad con Docker si activa la casilla. También puede agregar
compatibilidad con la autenticación si selecciona un valor en la lista desplegable Tipo de autenticación .
Ahí, puede elegir entre las siguientes opciones:
Ninguna: sin autenticación.
Cuentas individuales: las autenticaciones se almacenan en una base de datos local o basada en Azure.
Plataforma de identidad de Microsoft: esta opción usa Active Directory, Azure AD o Microsoft 365 para
la autenticación.
Windows: conveniente para las aplicaciones de intranet.
Deje desactivada la casilla Habilitar Docker y seleccione Ninguno en Tipo de autenticación. Seleccione
Crear .
Visual Studio abrirá el nuevo proyecto.
Acerca de la solución
Esta solución sigue el modelo de diseño Razor Page . La diferencia con el modelo de diseño Modelo-Vista-
Controlador (MVC) es que está optimizado para incluir el modelo y el código de control dentro de la misma
Razor Page.

Recorrido por la solución


1. La plantilla de proyecto crea una solución con un solo proyecto de ASP.NET Core que se denomina
MyCoreApp. Elija la pestaña Explorador de soluciones para ver el contenido.

2. Expanda la carpeta Páginas y expanda About.cshtml.


3. Vea el archivo About.cshtml en el editor de código.

4. Elija el archivo About.cshtml.cs .

5. Vea el archivo About.cshtml.cs en el editor de código.


6. El proyecto contiene una carpeta wwwroot que es la raíz del sitio web. Expanda la carpeta para ver su
contenido.

Puede colocar contenido estático del sitio —como CSS, imágenes y bibliotecas de JavaScript—
directamente en las rutas de acceso que quiera.
7. El proyecto también contiene archivos de configuración que administran la aplicación web en tiempo de
ejecución. La configuración predeterminada de la aplicación se almacena en appsettings.json. Sin
embargo, puede invalidar esta configuración mediante el uso de appsettings.Development.json. Expanda
el archivo appsettings.json para ver el archivo appsettings.Development.json .

Ejecutar, depurar y realizar cambios


1. Haga clic en el botón IIS Express del IDE para compilar y ejecutar la aplicación en modo de depuración.
(O bien, presione F5 o elija Depurar > Iniciar depuración en la barra de menús).
NOTE
Si recibe un mensaje de error que indica No se puede conectar al ser vidor web "IIS Express" , cierre Visual
Studio y, luego, ábralo mediante la opción Ejecutar como administrador que aparece si hace clic con el botón
derecho o en el menú contextual. A continuación, vuelva a ejecutar la aplicación.
También es posible que obtenga un mensaje que le pregunta si desea aceptar un certificado SSL de IIS Express.
Para ver el código en un explorador web, elija Sí y luego, si recibe un mensaje de advertencia de seguridad de
seguimiento, elija Sí.

2. Visual Studio inicia una ventana del explorador. Luego debería ver las páginas Inicio , Acerca de y
Contacto en la barra de menús. (Si no es así, elija el elemento de menú "hamburguesa" para verlas).

3. Elija Acerca de en la barra de menús.


Entre otras cosas, la página Acerca de en el explorador representa el texto que se establece en el archivo
About.cshtml.

4. Vuelva a Visual Studio y, a continuación, presione Mayús+F5 para detener el modo de depuración.
También se cierra el proyecto en la ventana del explorador.
5. En Visual Studio, elija About.cshtml . Luego, elimine la palabra another y, en su lugar, agregue las
palabras file and directory.

6. Elija About.cshtml.cs . Luego, limpie las directivas using que se encuentran al inicio del archivo con el
siguiente método abreviado:
Elija cualquiera de las directivas using atenuadas y aparecerá una bombilla Acciones rápidas justo
debajo del símbolo de intercalación o en el margen izquierdo. Elija la bombilla y después elija Eliminar
instrucciones Using innecesarias .
Visual Studio elimina las directivas using innecesarias del archivo.
7. Luego, en el método OnGet() , cambie el cuerpo por el código siguiente:

public void OnGet()


{
string directory = Environment.CurrentDirectory;
Message = String.Format("Your directory is {0}.", directory);
}

8. Observe que aparecerán dos caracteres de subrayado ondulados en Environment y String . Los
caracteres de subrayado ondulados aparecen porque estos tipos están fuera del ámbito.

Abra la barra de herramientas Lista de errores para ver los mismos errores en la lista. Si no ve la barra
de herramientas Lista de errores , elija Ver > Lista de errores en la barra de menús superior.

9. Solucionemos este problema. En el editor de código, coloque el cursor en cualquiera de las líneas que
contienen el error y elija la bombilla Acciones rápidas ubicada en el margen izquierdo. Luego, en el menú
desplegable, elija using System; para agregar esta directiva al inicio del archivo y solucionar los errores.
10. Presione Ctrl +S para guardar los cambios y, a continuación, presione F5 para abrir el proyecto en el
explorador web.
11. En la parte superior del sitio web, elija Acerca de para ver los cambios.

12. Cierre el explorador web, presione Mayús +F5 para detener el modo de depuración y cierre Visual
Studio.

Recorrido por la solución


1. La plantilla de proyecto crea una solución con un solo proyecto de ASP.NET Core que se denomina
MyCoreApp. Elija la pestaña Explorador de soluciones para ver el contenido.

2. Expanda la carpeta Páginas .


3. Vea el archivo Index.cshtml en el editor de código.

4. Cada archivo .cshtml tiene un archivo de código asociado. Para abrir el archivo de código en el editor,
expanda el nodo Index.cshtml en Explorador de soluciones y elija el archivo Index.cshtml.cs .

5. Vea el archivo Index.cshtml.cs en el editor de código.


6. El proyecto contiene una carpeta wwwroot que es la raíz del sitio web. Expanda la carpeta para ver su
contenido.

Puede colocar contenido estático del sitio —como CSS, imágenes y bibliotecas de JavaScript—
directamente en las rutas de acceso que quiera.
7. El proyecto también contiene archivos de configuración que administran la aplicación web en tiempo de
ejecución. La configuración predeterminada de la aplicación se almacena en appsettings.json. Sin
embargo, puede invalidar esta configuración mediante el uso de appsettings.Development.json. Expanda
el archivo appsettings.json para ver el archivo appsettings.Development.json .
Ejecutar, depurar y realizar cambios
1. Haga clic en el botón IIS Express del IDE para compilar y ejecutar la aplicación en modo de depuración.
(O bien, presione F5 o elija Depurar > Iniciar depuración en la barra de menús).

NOTE
Si recibe un mensaje de error que indica No se puede conectar al ser vidor web "IIS Express" , cierre Visual
Studio y, luego, ábralo mediante la opción Ejecutar como administrador que aparece si hace clic con el botón
derecho o en el menú contextual. A continuación, vuelva a ejecutar la aplicación.
También es posible que obtenga un mensaje que le pregunta si desea aceptar un certificado SSL de IIS Express.
Para ver el código en un explorador web, elija Sí y luego, si recibe un mensaje de advertencia de seguridad de
seguimiento, elija Sí.

2. Visual Studio inicia una ventana del explorador. Debería ver las páginas Inicio y Privacidad en la barra
de menús.
3. Elija Privacidad en la barra de menús.
La página Privacidad del explorador representa el texto que se establece en el archivo Privacy.cshtml.

4. Vuelva a Visual Studio y, a continuación, presione Mayús+F5 para detener el modo de depuración.
También se cierra el proyecto en la ventana del explorador.
5. En Visual Studio, abra Privacy.cshtml para editarlo. Después, elimine la frase Use this page to detail your
site's privacy policy (Use esta página para detallar la directiva de privacidad del sitio) y, en su lugar,
agregue This page is under construction as of @ViewData["TimeStamp"] (Esta página está en
construcción desde ["TimeStamp"]).
6. Ahora, vamos a realizar un cambio en el código. Seleccione Privacy.cshtml.cs . Luego, limpie las
directivas using que se encuentran al inicio del archivo con el siguiente método abreviado:
Elija cualquiera de las directivas using atenuadas y aparecerá una bombilla Acciones rápidas justo
debajo del símbolo de intercalación o en el margen izquierdo. Seleccione la bombilla y mueva el puntero
sobre Eliminar instrucciones Using innecesarias .

Ahora, seleccione Vista previa de los cambios para ver lo que cambiará.

Elija Aplicar . Visual Studio elimina las directivas using innecesarias del archivo.
7. Luego, en el método OnGet() , cambie el cuerpo por el código siguiente:

public void OnGet()


{
string dateTime = DateTime.Now.ToShortDateString();
ViewData["TimeStamp"] = dateTime;
}

8. Observe que aparecerán dos caracteres de subrayado ondulados bajo DateTime . Los caracteres de
subrayado ondulados aparecen porque este tipo está fuera del ámbito.
Abra la barra de herramientas Lista de errores para ver los mismos errores en la lista. Si no ve la barra
de herramientas Lista de errores , elija Ver > Lista de errores en la barra de menús superior.

9. Solucionemos este problema. En el editor de código, coloque el cursor en cualquiera de las líneas que
contienen el error y elija la bombilla Acciones rápidas ubicada en el margen izquierdo. Luego, en el menú
desplegable, elija using System; para agregar esta directiva al inicio del archivo y solucionar los errores.

10. Presione F5 para abrir el proyecto en el explorador web.


11. En la parte superior del sitio web, seleccione Privacidad para ver los cambios.

12. Cierre el explorador web, presione Mayús +F5 para detener el modo de depuración y cierre Visual
Studio.

Recorrido por la solución


1. La plantilla de proyecto crea una solución con un solo proyecto de ASP.NET Core que se denomina
MyCoreApp. Elija la pestaña Explorador de soluciones para ver el contenido.
2. Expanda la carpeta Páginas .

3. Vea el archivo Index.cshtml en el editor de código.

4. Cada archivo .cshtml tiene un archivo de código asociado. Para abrir el archivo de código en el editor,
expanda el nodo Index.cshtml en Explorador de soluciones y elija el archivo Index.cshtml.cs .
5. Vea el archivo Index.cshtml.cs en el editor de código.

6. El proyecto contiene una carpeta wwwroot que es la raíz del sitio web. Expanda la carpeta para ver su
contenido.
Puede colocar contenido estático del sitio —como CSS, imágenes y bibliotecas de JavaScript—
directamente en las rutas de acceso que quiera.
7. El proyecto también contiene archivos de configuración que administran la aplicación web en tiempo de
ejecución. La configuración predeterminada de la aplicación se almacena en appsettings.json. Sin
embargo, puede invalidar esta configuración mediante el uso de appsettings.Development.json. Expanda
el archivo appsettings.json para ver el archivo appsettings.Development.json .

Ejecutar, depurar y realizar cambios


1. Haga clic en el botón IIS Express del IDE para compilar y ejecutar la aplicación en modo de depuración.
(O bien, presione F5 o elija Depurar > Iniciar depuración en la barra de menús).
NOTE
Si recibe un mensaje de error que indica No se puede conectar al ser vidor web "IIS Express" , cierre Visual
Studio y, luego, ábralo mediante la opción Ejecutar como administrador que aparece si hace clic con el botón
derecho o en el menú contextual. A continuación, vuelva a ejecutar la aplicación.
También es posible que obtenga un mensaje que le pregunta si desea aceptar un certificado SSL de IIS Express.
Para ver el código en un explorador web, elija Sí y luego, si recibe un mensaje de advertencia de seguridad de
seguimiento, elija Sí.

2. Visual Studio inicia una ventana del explorador. Debería ver las páginas Inicio y Privacidad en la barra
de menús.
3. Elija Privacidad en la barra de menús.
La página Privacidad del explorador representa el texto que se establece en el archivo Privacy.cshtml.

4. Vuelva a Visual Studio y, a continuación, presione Mayús+F5 para detener el modo de depuración.
También se cierra el proyecto en la ventana del explorador.
5. En Visual Studio, abra Privacy.cshtml para editarlo. Después, elimine la frase Use this page to detail your
site's privacy policy (Use esta página para detallar la directiva de privacidad del sitio) y, en su lugar,
agregue This page is under construction as of @ViewData["TimeStamp"] (Esta página está en
construcción desde ["TimeStamp"]).

6. Ahora, vamos a realizar un cambio en el código. Seleccione Privacy.cshtml.cs . Luego, limpie las
directivas using que se encuentran al inicio del archivo mediante el siguiente método abreviado:
Elija cualquiera de las directivas using atenuadas y aparecerá una bombilla Acciones rápidas justo
debajo del símbolo de intercalación o en el margen izquierdo. Seleccione la bombilla y mueva el puntero
sobre Eliminar instrucciones Using innecesarias .
Ahora, seleccione Vista previa de los cambios para ver lo que cambiará.

Elija Aplicar . Visual Studio elimina las directivas using innecesarias del archivo.
7. Luego, cree una cadena para la fecha actual con el formato de la referencia cultural o región mediante el
método DateTime.ToString.
El primer argumento del método especifica cómo se debe mostrar la fecha. En este ejemplo se usa el
especificador de formato ( d ) que indica el formato de fecha corta.
El segundo argumento es el objeto CultureInfo que especifica la referencia cultural o región de la
fecha. Este argumento determina, entre otras cosas, el idioma de las palabras de la fecha y el tipo de
separadores usados.
Cambie el cuerpo del método OnGet() por el código siguiente:

public void OnGet()


{
string dateTime = DateTime.Now.ToString("d", new CultureInfo("en-US"));
ViewData["TimeStamp"] = dateTime;
}

1. Observe que aparecen dos caracteres de subrayado ondulados bajo CultureInfo . Los caracteres de
subrayado ondulados aparecen porque este tipo está fuera del ámbito.
Abra la barra de herramientas Lista de errores para ver los mismos errores en la lista. Si no ve la barra
de herramientas Lista de errores , elija Ver > Lista de errores en la barra de menús superior.

2. Solucionemos este problema. En el editor de código, coloque el cursor en cualquiera de las líneas que
contienen el error y elija la bombilla Acciones rápidas ubicada en el margen izquierdo. Luego, en el menú
desplegable, elija using System.Globalization; para agregar esta directiva al inicio del archivo y
solucionar los errores.

3. Presione F5 para abrir el proyecto en el explorador web.


4. En la parte superior del sitio web, seleccione Privacidad para ver los cambios.

5. Cierre el explorador web, presione Mayús +F5 para detener el modo de depuración y cierre Visual
Studio.

Respuestas rápidas a preguntas frecuentes


Esta es una sección rápida de P+F para destacar algunos conceptos clave.
¿Qué es C#?
C# es un lenguaje de programación con seguridad de tipos y orientado a objetos que se ha diseñado para ser
robusto y fácil de aprender.
¿Qué es ASP.NET Core?
ASP.NET Core es un marco multiplataforma y de código abierto en el que se pueden crear aplicaciones
conectadas a Internet, como por ejemplo, servicios y aplicaciones web. Las aplicaciones de ASP.NET Core se
pueden ejecutar en .NET Core o .NET Framework. Puede desarrollar y ejecutar las aplicaciones multiplataforma
ASP.NET Core en Windows, Mac y Linux. ASP.NET Core es código abierto en GitHub.
¿Qué es Visual Studio?
Visual Studio es un conjunto de desarrollo integrado de herramientas de productividad para desarrolladores.
Considérelo como un programa que se puede usar para crear programas y aplicaciones.

Pasos siguientes
Enhorabuena por completar este tutorial. Esperamos que haya aprendido un poco sobre C#, ASP.NET Core y el
IDE de Visual Studio. Para obtener más información sobre cómo crear una aplicación web o un sitio web con C#
y ASP.NET, continúe con el tutorial siguiente:
Creación de una aplicación web de páginas de Razor con ASP.NET Core
Si lo prefiere, puede aprender a contenedorizar la aplicación web con Docker:
Herramientas de contenedor de Visual Studio

Vea también
Publicar una aplicación web en Azure App Service mediante Visual Studio
Tutorial: Creación de la primera aplicación para la
Plataforma universal de Windows en Visual Studio
con XAML y C#
11/11/2021 • 9 minutes to read

En esta introducción al entorno de desarrollo integrado (IDE) de Visual Studio, creará una aplicación "Hola
mundo" que se ejecuta en cualquier dispositivo con Windows 10 o posterior. Para ello, deberá utilizar una
plantilla de proyecto de la Plataforma universal de Windows (UWP), el lenguaje XAML (Extensible Application
Markup Language) y el lenguaje de programación C#.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.

Crear un proyecto
En primer lugar, cree un proyecto de la Plataforma universal de Windows. En el tipo de proyecto se incluyen
todos los archivos de plantilla que necesita, sin necesidad de agregar nada más.
1. Abra Visual Studio.
2. En la barra de menús superior, elija Archivo > Nuevo > Proyecto .
3. En el panel izquierdo del cuadro de diálogo Nuevo proyecto , expanda Visual C# y, a continuación, elija
Windows Universal . En el panel central, elija Aplicación vacía (Windows universal) . Luego, asigne
el nombre HelloWorld al proyecto y elija Aceptar .

NOTE
Asegúrese de que la ubicación del proyecto de origen se encuentra en una unidad con el formato New
Technology File System (NTFS) , como la del sistema operativo (SO). De lo contrario, es posible que tenga
problemas para compilar y ejecutar el proyecto.
NOTE
Si no ve la plantilla de proyecto Aplicación vacía (Windows universal) , haga clic en el vínculo Abrir el
instalador de Visual Studio en el panel izquierdo del cuadro de diálogo Nuevo proyecto .

Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de la Plataforma universal de
Windows y, después, elija Modificar .

4. Acepte la versión de destino predeterminada y la configuración de la versión mínima en el cuadro de


diálogo Nuevo proyecto de la Plataforma universal de Windows .
1. Abra Visual Studio y, en la ventana de inicio, elija Crear un proyecto .
2. En la pantalla Crear un nuevo proyecto , escriba Windows universal en el cuadro de búsqueda, elija la
plantilla de C# para Aplicación vacía (Windows universal) y haga clic en Siguiente .
NOTE
Si no ve la plantilla de proyecto Aplicación vacía (Windows universal) , haga clic en el vínculo Instalar más
herramientas y características .

Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de la Plataforma universal de
Windows y, después, elija Modificar .

3. Asigne un nombre al proyecto, HelloWorld, y seleccione Crear .

4. Acepte la versión de destino predeterminada y la configuración de la versión mínima en el cuadro de


diálogo Nuevo proyecto de la Plataforma universal de Windows .
1. Abra Visual Studio y, en la ventana de inicio, elija Crear un proyecto .
2. En la pantalla Crear un nuevo proyecto , escriba Windows universal en el cuadro de búsqueda, elija la
plantilla de C# para Aplicación vacía (Windows universal) y haga clic en Siguiente .
NOTE
Si no ve la plantilla de proyecto Aplicación vacía (Windows universal) , haga clic en el vínculo Instalar más
herramientas y características .

Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de la Plataforma universal de
Windows y, después, seleccione Modificar .

3. Asigne un nombre al proyecto, HelloWorld, y seleccione Crear .

4. Acepte la versión de destino predeterminada y la configuración de la versión mínima en el cuadro de


diálogo Nuevo proyecto de la Plataforma universal de Windows .
NOTE
Si se trata de la primera vez que ha utilizado Visual Studio para crear una aplicación UWP, es posible que aparezca el
cuadro de diálogo Configuración . Elija Modo de programador y, a continuación, elija Sí.

Visual Studio instala un paquete de modo de desarrollador adicional. Una vez completada la instalación del paquete, cierre
el cuadro de diálogo Configuración .

Crear la aplicación
Es hora de empezar a desarrollar. Deberá agregar un control de botón y una acción al botón y, a continuación,
iniciar la aplicación "Hello World" para ver su aspecto.
Agregar un botón al lienzo Diseño
1. En el Explorador de soluciones , haga doble clic en MainPage.xaml para abrir una vista en dos paneles.
Hay dos paneles: el Diseñador XAML , que incluye un lienzo de diseño, y el Editor XAML , donde se
puede agregar o modificar el código.

2. Elija Cuadro de herramientas para abrir la ventana flotante Cuadro de herramientas.


(Si no ve la opción Cuadro de herramientas , puede abrirla desde la barra de menús. Para ello, elija Ver
> barra de herramientas . También puede presionar CTRL +Alt +X .
3. Haga clic en el icono de anclaje para acoplar la ventana del cuadro de herramientas.

4. Haga clic en el control Botón y arrástrelo al lienzo de diseño.

Si observa el código en el Editor XAML , verá que el botón también se ha agregado ahí:

1. En el Explorador de soluciones , haga doble clic en MainPage.xaml para abrir una vista en dos paneles.
Hay dos paneles: el Diseñador XAML , que incluye un lienzo de diseño, y el Editor XAML , donde se
puede agregar o modificar el código.
2. Elija Cuadro de herramientas para abrir la ventana flotante Cuadro de herramientas.

(Si no ve la opción Cuadro de herramientas , puede abrirla desde la barra de menús. Para ello, elija Ver
> barra de herramientas . También puede presionar CTRL +Alt +X .
3. Haga clic en el icono de anclaje para acoplar la ventana del cuadro de herramientas.
4. Haga clic en el control Botón y arrástrelo al lienzo de diseño.

Si observa el código en el Editor XAML , verá que el botón también se ha agregado ahí:

1. En el Explorador de soluciones , haga doble clic en MainPage.xaml para abrir una vista en dos paneles.
Hay dos paneles: el Diseñador XAML , que incluye un lienzo de diseño, y el Editor XAML , donde se
puede agregar o modificar el código.

2. Elija Cuadro de herramientas para abrir la ventana flotante Cuadro de herramientas.


(Si no ve la opción Cuadro de herramientas , puede abrirla desde la barra de menús. Para ello, elija Ver
> barra de herramientas . También puede presionar CTRL +Alt +X .
3. Seleccione el icono Anclar para acoplar la ventana del cuadro de herramientas.

4. Seleccione el control Botón y arrástrelo al lienzo de diseño.


Si observa el código en el Editor XAML , verá que el botón también se ha agregado ahí:

Agregar una etiqueta al botón


1. En el Editor XAML , cambie el valor de Contenido del botón de "Button" a "Hello World!".

2. Observe que el botón del Diseñador XAML también cambia.


1. En el Editor XAML , cambie el valor de Contenido del botón de "Button" a "Hello World!".

2. Observe que el botón del Diseñador XAML también cambia.

Agregar un controlador de eventos


Un "controlador de eventos" parece algo complicado, pero es simplemente otro nombre para el código que se
llama cuando se produce un evento. En este caso, agrega una acción al botón "Hello World!" .
1. Haga doble clic en el control de botón del lienzo de diseño.
2. Modifique el código del controlador de eventos en MainPage.xaml.cs, la página de código subyacente.
Aquí es donde las cosas se ponen interesantes. El controlador de eventos predeterminado tiene el
aspecto siguiente:

Vamos a cambiarlo para que tenga este aspecto:


Este es el código que se debe copiar y pegar:

private async void Button_Click(object sender, RoutedEventArgs e)


{
MediaElement mediaElement = new MediaElement();
var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await
synth.SynthesizeTextToStreamAsync("Hello, World!");
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
}

1. Haga doble clic en el control de botón del lienzo de diseño.


2. Modifique el código del controlador de eventos en MainPage.xaml.cs, la página de código subyacente.
Aquí es donde las cosas se ponen interesantes. El controlador de eventos predeterminado tiene el
aspecto siguiente:

Vamos a cambiarlo para que tenga este aspecto:

Este es el código que se debe copiar y pegar:


private async void Button_Click(object sender, RoutedEventArgs e)
{
MediaElement mediaElement = new MediaElement();
var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await
synth.SynthesizeTextToStreamAsync("Hello, World!");
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
}

¿ Qué acabamos de hacer?


El código usa algunas API de Windows para crear un objeto de síntesis de voz y, a continuación, le proporciona
algún texto para que lo pronuncie. (Para obtener más información sobre el uso de SpeechSynthesis , vea
System.Speech.Synthesis).

Ejecutar la aplicación
Es el momento de compilar, implementar y ejecutar la aplicación UWP "Hello World" para ver qué aspecto tiene
y cómo suena. Esta es la manera de hacerlo.
1. Use el botón de reproducción (es el que tiene escrito Máquina local ) para iniciar la aplicación en la
máquina local.

(Como alternativa, puede seleccionar Depurar > Iniciar depuración en la barra de menús o presionar
F5 para iniciar la aplicación).
2. Vea la aplicación, que se muestra poco después de que desaparezca una pantalla de presentación. La
aplicación debe tener un aspecto similar al siguiente:
3. Haga clic en el botón Hello World .
El dispositivo con Windows 10 o posterior dirá literalmente "Hello, World!".
4. Para cerrar la aplicación, haga clic en el botón Detener depuración de la barra de herramientas. (Como
alternativa, puede elegir Depurar > Detener depuración en la barra de menús, o bien presionar
Mayús+F5 ).
Es el momento de compilar, implementar y ejecutar la aplicación UWP "Hello World" para ver qué aspecto tiene
y cómo suena. Esta es la manera de hacerlo.
1. Use el botón de reproducción (es el que tiene escrito Máquina local ) para iniciar la aplicación en la
máquina local.

(Como alternativa, puede seleccionar Depurar > Iniciar depuración en la barra de menús o presionar
F5 para iniciar la aplicación).
2. Vea la aplicación, que se muestra poco después de que desaparezca una pantalla de presentación. La
aplicación debe tener un aspecto similar al siguiente:
3. Haga clic en el botón Hello World .
El dispositivo con Windows 10 o posterior dirá literalmente "Hello, World!".
4. Para cerrar la aplicación, haga clic en el botón Detener depuración de la barra de herramientas. (Como
alternativa, puede elegir Depurar > Detener depuración en la barra de menús, o bien presionar
Mayús+F5 ).
Es el momento de compilar, implementar y ejecutar la aplicación UWP "Hello World" para ver qué aspecto tiene
y cómo suena. Esta es la manera de hacerlo.
1. Use el botón de reproducción (es el que tiene escrito Máquina local ) para iniciar la aplicación en la
máquina local.

(Como alternativa, puede seleccionar Depurar > Iniciar depuración en la barra de menús o presionar
F5 para iniciar la aplicación).
2. Vea la aplicación, que se muestra poco después de que desaparezca una pantalla de presentación. La
aplicación debería tener un aspecto similar al de esta imagen:
3. Seleccione el botón Hello World .
El dispositivo con Windows 10 o posterior dirá literalmente "Hello, World!".
4. Para cerrar la aplicación, seleccione el botón Detener depuración en la barra de herramientas. (Como
alternativa, puede elegir Depurar > Detener depuración en la barra de menús, o bien presionar
Mayús+F5 ).

Pasos siguientes
Enhorabuena por completar este tutorial. Esperamos que haya aprendido algunos conceptos básicos sobre UWP
y el IDE de Visual Studio. Para obtener más información, continúe con el tutorial siguiente:
Crear una interfaz de usuario

Vea también
Información general sobre UWP
Obtener muestras de aplicaciones para UWP
Tutorial: Crear una aplicación sencilla con C#
11/11/2021 • 16 minutes to read

Tras completar este tutorial, estará familiarizado con muchas de las herramientas, cuadros de diálogo y
diseñadores que puede usar para desarrollar aplicaciones con Visual Studio. Creará una aplicación "Hola
mundo", diseñará la interfaz de usuario, agregará código y depurará errores, mientras aprende a trabajar en el
entorno de desarrollo integrado (IDE).

Requisitos previos
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de
forma gratuita.
Para este tutorial puede usar .NET Framework o .NET Core. .NET Core es el marco más reciente y moderno.
.NET Core requiere la versión 16.3 de Visual Studio 2019 o posterior.

Configurar el IDE
Cuando abra Visual Studio por primera vez, se le pedirá que inicie sesión. Este paso es opcional en este tutorial.
Después, probablemente aparezca un cuadro de diálogo que le pide que elija la configuración de desarrollo y el
tema de color. Mantenga los valores predeterminados y elija Iniciar Visual Studio .

Una vez que se haya iniciado Visual Studio, verá las ventanas de herramientas, los menús, las barras de
herramientas y el espacio de la ventana principal. Las ventanas de herramientas se acoplan a los lados izquierdo
y derecho de la ventana de la aplicación, con Inicio rápido , la barra de menús y la barra de herramientas
estándar en la parte superior. En el centro de la ventana de la aplicación está la Página principal . Cuando se
carga una solución o un proyecto, los editores y diseñadores aparecen en el espacio donde está la página de
inicio . Cuando desarrolle una aplicación, pasará la mayor parte del tiempo en esta área central.

Al iniciar Visual Studio, la primera ventana que se abre es la de inicio. Haga clic en Continuar sin código para
abrir el entorno de desarrollo. Se mostrarán las ventanas de herramientas, los menús, las barras de
herramientas y el espacio de la ventana principal. Las ventanas de herramientas se acoplan a los lados izquierdo
y derecho de la ventana de la aplicación. El cuadro de búsqueda, la barra de menús y la barra de herramientas
estándar se encuentran en la parte superior. Cuando se carga una solución o un proyecto, los editores y
diseñadores aparecen en el espacio central de la ventana de la aplicación. Cuando desarrolle una aplicación,
pasará la mayor parte del tiempo en esta área central.

Crear el proyecto
Cuando cree una aplicación en Visual Studio, primero creará un proyecto y una solución. Para este ejemplo,
creará un proyecto de Windows Presentation Foundation (WPF).
1. Cree un nuevo proyecto. En la barra de menús, seleccione Archivo > Nuevo > Proyecto .

2. En el cuadro de diálogo Nuevo proyecto , seleccione la categoría Instalados > Visual C# > Escritorio
de Windows y, luego, seleccione la plantilla Aplicación de WPF (.NET Framework) . Asígnele al
proyecto el nombre HelloWPFApp y haga clic en Aceptar .
1. Abra Visual Studio.
2. En la ventana de inicio, elija Crear proyecto .

3. En la pantalla Crear un nuevo proyecto nuevo , busque "WPF", elija Aplicación WPF y después
seleccione Siguiente .
4. En la pantalla siguiente, asígnele al proyecto el nombre HelloWPFApp y haga clic en Siguiente .

5. En la ventana Información adicional , .NET Core 3.1 ya debe estar seleccionado para la plataforma de
destino. Si no es así, seleccione .NET Core 3.1 . Luego, elija Crear .
Visual Studio crea el proyecto HelloWPFApp y la solución, y el Explorador de soluciones muestra los distintos
archivos. WPF Designer muestra una vista de diseño y una vista XAML de MainWindow.xaml en una vista en
dos paneles. Puede deslizar el divisor para mostrar más o menos de cualquiera de las vistas. Puede elegir ver
solo la vista visual o solo la vista XAML.

NOTE
Para más información sobre XAML (eXtensible Application Markup Language), consulte la página Información general
XAML (WPF).

Después de crear el proyecto, puede personalizarlo. Para ello, elija Ventana Propiedades en el menú Ver o
presione F4 . Después, puede mostrar y cambiar las opciones de elementos de proyecto, controles y otros
elementos de una aplicación.

1. Abra Visual Studio.


2. En la ventana de inicio, elija Crear un proyecto nuevo .

3. En la pantalla Crear un nuevo proyecto nuevo , busque "WPF", elija Aplicación WPF y después
seleccione Siguiente .
4. En la pantalla siguiente, asígnele al proyecto el nombre HelloWPFApp y haga clic en Siguiente .

5. En la ventana Información adicional , .NET 6.0 ya debe estar seleccionado para la plataforma de
destino. Si no es así, seleccione .NET 6.0 . Luego, elija Crear .
Visual Studio crea el proyecto HelloWPFApp y la solución, y el Explorador de soluciones muestra los distintos
archivos. WPF Designer muestra una vista de diseño y una vista XAML de MainWindow.xaml en una vista en
dos paneles. Puede deslizar el divisor para mostrar más o menos de cualquiera de las vistas. Puede elegir ver
solo la vista visual o solo la vista XAML.

NOTE
Para más información sobre XAML (eXtensible Application Markup Language), consulte la página Información general
XAML (WPF).

Después de crear el proyecto, puede personalizarlo. Para ello, elija Ventana Propiedades en el menú Ver o
presione F4 . Después, puede mostrar y cambiar las opciones de elementos de proyecto, controles y otros
elementos de una aplicación.
Cambiar el nombre de MainWindow.xaml
Asignemos a MainWindow un nombre más específico. En el Explorador de soluciones , haga clic con el botón
derecho en MainWindow.xaml y seleccione Cambiar nombre . Cambie el nombre del archivo por
Greetings.xaml.

Diseñar la interfaz de usuario (IU)


Si el diseñador no está abierto, seleccione Greetings.xaml y presione Mayús +F7 para abrirlo.
Agregaremos tres tipos de controles a esta aplicación: un control TextBlock, dos controles RadioButton y un
control Button.
Agregar un control TextBlock
1. Presione Ctrl +Q para activar el cuadro de búsqueda y escriba cuadro de herramientas . Elija Ver >
Cuadro de herramientas en la lista de resultados.
2. En el Cuadro de herramientas , expanda el nodo Controles WPF comunes para ver el control
TextBlock.

3. Agregue un control TextBlock a la superficie de diseño. Para ello, elija el elemento TextBlock y arrástrelo a
la ventana en la superficie de diseño. Centre el control cerca de la parte superior de la ventana. En Visual
Studio 2019 y versiones posteriores, puede usar las guías de color rojo para centrar el control.
La ventana debería ser similar a la siguiente ilustración:
El marcado XAML debe tener un aspecto similar al siguiente ejemplo:

<Grid>
<TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="TextBlock"
VerticalAlignment="Top"/>
</Grid>

1. Presione Ctrl +Q para activar el cuadro de búsqueda y escriba cuadro de herramientas . Elija Ver >
Cuadro de herramientas en la lista de resultados.
2. En el Cuadro de herramientas , expanda el nodo Controles WPF comunes para ver el control
TextBlock.

3. Agregue un control TextBlock a la superficie de diseño. Para ello, elija el elemento TextBlock y arrástrelo a
la ventana en la superficie de diseño. Centre el control cerca de la parte superior de la ventana. Puede
usar las instrucciones para centrar el control.
La ventana debería ser similar a la siguiente imagen:
El marcado XAML debe tener un aspecto similar al siguiente ejemplo:

<Grid>
<TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="TextBlock"
VerticalAlignment="Top"/>
</Grid>

Personalizar el texto en el bloque de texto


1. En la vista XAML, busque el marcado de TextBlock y cambie el atributo Text de TextBox a
Select a message option and then choose the Display button. .

El marcado XAML debe tener un aspecto similar al siguiente ejemplo:

<Grid>
<TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="Select a
message option and then choose the Display button." VerticalAlignment="Top"/>
</Grid>

2. Vuelva a centrar TextBlock si quiere y, luego, guarde los cambios. Para ello, presione Ctrl+S o use el
elemento de menú Archivo .
Después, agregará dos controles RadioButton al formulario.
Agregar botones de radio
1. En el Cuadro de herramientas , busque el control RadioButton .

2. Agregue dos controles RadioButton a la superficie de diseño. Para ello, elija el elemento RadioButton y
arrástrelo a la ventana en la superficie de diseño. Mueva los botones (para hacerlo, selecciónelos y use las
teclas de dirección) de modo que aparezcan uno junto al otro bajo el control TextBlock. Use las guías de
color rojo para alinear los controles.
La ventana debe ser similar a la que se muestra a continuación:

3. En la ventana Propiedades del control RadioButton izquierdo, cambie la propiedad Name (la propiedad
situada en la parte superior de la ventana Propiedades ) a HelloButton .

4. En la ventana Propiedades del control RadioButton derecho, cambie la propiedad Name a


GoodbyeButton y después guarde los cambios.

A continuación, podrá agregar el texto para mostrar de cada control RadioButton. El procedimiento siguiente
actualiza la propiedad Content de un control RadioButton.
1. En el Cuadro de herramientas , busque el control RadioButton .

2. Agregue dos controles RadioButton a la superficie de diseño. Para ello, elija el elemento RadioButton y
arrástrelo a la ventana en la superficie de diseño. Mueva los botones (para hacerlo, selecciónelos y use las
teclas de dirección) de modo que aparezcan uno junto al otro bajo el control TextBlock. Puede usar las
instrucciones para alinear los controles.
La ventana debe ser similar a la que se muestra a continuación:

3. En la ventana Propiedades del control RadioButton izquierdo, cambie la propiedad Name (la propiedad
situada en la parte superior de la ventana Propiedades ) a HelloButton .

4. En la ventana Propiedades del control RadioButton derecho, cambie la propiedad Name a


GoodbyeButton y después guarde los cambios.

A continuación, podrá agregar el texto para mostrar de cada control RadioButton. El procedimiento siguiente
actualiza la propiedad Content de un control RadioButton.
Agregar el texto para mostrar de cada botón de radio
1. Cambie el atributo Content de los controles HelloButton y GoodbyeButton por "Hello" y "Goodbye" en
el código XAML. El marcado XAML ahora debería ser similar al del ejemplo siguiente:

<Grid>
<TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a
message option and then choose the Display button." VerticalAlignment="Top"/>
<RadioButton x:Name="HelloButton" Content="Hello" HorizontalAlignment="Left"
Margin="297,161,0,0" VerticalAlignment="Top"/>
<RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left"
Margin="488,161,0,0" VerticalAlignment="Top"/>
</Grid>
Establecer que un botón de radio esté activado de forma predeterminada
En este paso haremos que HelloButton esté activado de forma predeterminada, de modo que siempre esté
seleccionado uno de los dos botones de radio.
1. En la vista XAML, busque el marcado de HelloButton.
2. Agregue un atributo IsChecked y establézcalo en True . Específicamente, agregue IsChecked="True" .
El marcado XAML ahora debería ser similar al del ejemplo siguiente:

<Grid>
<TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a
message option and then choose the Display button." VerticalAlignment="Top"/>
<RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left"
Margin="297,161,0,0" VerticalAlignment="Top"/>
<RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left"
Margin="488,161,0,0" VerticalAlignment="Top"/>
</Grid>

El último elemento de la interfaz de usuario que agregará es un control Button.


Agregar el control Button
1. En el Cuadro de herramientas , busque el control Botón y, después, agréguelo a la superficie de diseño
en los controles RadioButton. Para ello, arrástrelo al formulario de la vista de diseño. Si usa Visual Studio
2019 o una versión posterior, una línea de color rojo le ayuda a centrar el control.
2. En la vista XAML, cambie el valor de Content del control de botón de Content="Button" a
Content="Display" y, después, guarde los cambios.

La ventana debería parecerse a la de la siguiente ilustración.

El marcado XAML ahora debería ser similar al del ejemplo siguiente:


<Grid>
<TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a
message option and then choose the Display button." VerticalAlignment="Top"/>
<RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left"
Margin="297,161,0,0" VerticalAlignment="Top"/>
<RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left"
Margin="488,161,0,0" VerticalAlignment="Top"/>
<Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0"
VerticalAlignment="Top" Width="75"/>
</Grid>

1. En el Cuadro de herramientas , busque el control Botón y, después, agréguelo a la superficie de diseño


en los controles RadioButton. Para ello, arrástrelo al formulario de la vista de diseño. Las instrucciones
pueden ayudarle a centrar el control.
2. En la vista XAML, cambie el valor de Content del control de botón de Content="Button" a
Content="Display" y, después, guarde los cambios.

La ventana debería ser similar a la siguiente captura de pantalla.

El marcado XAML ahora debería ser similar al del ejemplo siguiente:

<Grid>
<TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a
message option and then choose the Display button." VerticalAlignment="Top"/>
<RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left"
Margin="297,161,0,0" VerticalAlignment="Top"/>
<RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left"
Margin="488,161,0,0" VerticalAlignment="Top"/>
<Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0"
VerticalAlignment="Top" Width="75"/>
</Grid>

Agregar código al botón Mostrar


Cuando se ejecuta esta aplicación, aparece un cuadro de mensaje después de que un usuario elija un botón de
radio y, luego, el botón Display . Aparecerá un cuadro de mensaje para Hello y otro para Goodbye. Para crear
este comportamiento, deberá agregar código al evento Button_Click en Greetings.xaml.cs.
1. En la superficie de diseño, haga doble clic en el botón Mostrar .
Se abre Greetings.xaml.cs con el cursor en el evento Button_Click .

private void Button_Click(object sender, RoutedEventArgs e)


{

2. Escriba el siguiente código:

if (HelloButton.IsChecked == true)
{
MessageBox.Show("Hello.");
}
else if (GoodbyeButton.IsChecked == true)
{
MessageBox.Show("Goodbye.");
}

3. Guarde la aplicación.
Cuando se ejecuta esta aplicación, aparece un cuadro de mensaje después de que un usuario elija un botón de
radio y, luego, el botón Display . Aparecerá un cuadro de mensaje para Hello y otro para Goodbye. Para crear
este comportamiento, deberá agregar código al evento Button_Click en Greetings.xaml.cs.
1. En la superficie de diseño, haga doble clic en el botón Mostrar .
Se abre Greetings.xaml.cs con el cursor en el evento Button_Click .

private void Button_Click(object sender, RoutedEventArgs e)


{

2. Escriba el siguiente código:

if (HelloButton.IsChecked == true)
{
MessageBox.Show("Hello.");
}
else if (GoodbyeButton.IsChecked == true)
{
MessageBox.Show("Goodbye.");
}

3. Guarde la aplicación.

Depurar y probar la aplicación


Después, depurará la aplicación para buscar errores y probar que los dos cuadros de mensaje aparecen
correctamente. Las siguientes instrucciones indican cómo compilar e iniciar el depurador, pero más adelante
podría leer Build a WPF application (WPF) [Compilar una aplicación de WPF (WPF)] y Depurar WPF para obtener
más información.
Buscar y corregir errores
En este paso, buscará el error que se ha producido anteriormente al cambiar el nombre del archivo
MainWindow.xaml.
Iniciar la depuración y buscar el error
1. Para iniciar el depurador, presione F5 o seleccione Depurar y, a continuación, Iniciar depuración .
Aparece la ventana Modo de interrupción y en la ventana Salida se indica que se ha producido una
excepción IOException: No se encuentra el recurso "mainwindow.xaml".

2. Detenga el depurador eligiendo Depurar > Detener depuración .


Hemos cambiado el nombre de MainWindow.xaml a Greetings.xaml al comienzo de este tutorial, pero el código
todavía hace referencia a MainWindow.xaml como URI de inicio de la aplicación, por lo que el proyecto no
puede iniciarse.
1. Para iniciar el depurador, presione F5 o seleccione Depurar y, a continuación, Iniciar depuración .
Aparece la ventana Modo de interrupción y en la ventana Salida se indica que se ha producido una
excepción IOException: No se encuentra el recurso "mainwindow.xaml".

2. Detenga el depurador eligiendo Depurar > Detener depuración .


Hemos cambiado el nombre de MainWindow.xaml a Greetings.xaml al comienzo de este tutorial, pero el código
todavía hace referencia a MainWindow.xaml como URI de inicio de la aplicación, por lo que el proyecto no
puede iniciarse.
Especificar Greetings.xaml como el URI de inicio
1. En el Explorador de soluciones , abra el archivo App.xaml.
2. Cambie StartupUri="MainWindow.xaml" a StartupUri="Greetings.xaml" y guarde los cambios.
Como paso opcional, evitará confusiones al cambiar el título de la ventana de la aplicación para que coincida
con este nuevo nombre.
1. En el Explorador de soluciones , abra el archivo Greetings.xaml al que acaba de cambiar el nombre.
2. Cambie el valor de la propiedad Window.Title de Title="MainWindow" a Title="Greetings" , y guarde los
cambios.
Vuelva a iniciar el depurador (presione F5 ). Ahora debería ver la ventana Greetings de la aplicación.
Ahora, cierre la ventana de la aplicación para detener la depuración.
Depurar con puntos de interrupción
Puede probar el código durante la depuración. Para ello, agregue algunos puntos de interrupción. Para agregar
puntos de interrupción, puede elegir Depurar > Alternar puntos de interrupción , hacer clic en el margen
izquierdo del editor junto a la línea de código donde quiere que se produzca la interrupción o bien presionar F9 .
Agregar puntos de interrupción
1. Abra Greetings.xaml.cs y seleccione la línea siguiente: MessageBox.Show("Hello.")

2. Agregue un punto de interrupción en el menú seleccionando Depurar y después Alternar puntos de


interrupción .
Aparece un círculo rojo al lado de la línea de código en el margen izquierdo de la ventana del editor.
3. Seleccione la línea siguiente: MessageBox.Show("Goodbye.") .
4. Presione la tecla F9 para agregar un punto de interrupción y, después, presione F5 para iniciar la
depuración.
5. En la ventana Greetings , elija el botón de radio Hello y después elija el botón Mostrar .
La línea MessageBox.Show("Hello.") se resalta en amarillo. En la parte inferior del IDE, las ventanas
Automático, Variables locales e Inspección están acopladas juntas en el lado izquierdo, mientras que las
ventanas Pila de llamadas, Puntos de interrupción, Configuración de excepción, Comando, Inmediato y
Salida están acopladas juntas en el lado derecho.
6. En la barra de menús, elija Depurar > Paso a paso para salir .
La aplicación reanuda la ejecución y aparece un cuadro de mensaje con la palabra "Hello".
7. Elija el botón Aceptar en el cuadro de mensaje para cerrarlo.
8. En la ventana Greetings , elija el botón de radio Goodbye y después elija el botón Mostrar .
La línea MessageBox.Show("Goodbye.") se resalta en amarillo.
9. Presione la tecla F5 para continuar con la depuración. Cuando aparezca el cuadro de mensaje, elija el
botón Aceptar en el cuadro de mensaje para cerrarlo.
10. Cierre la ventana de la aplicación para detener la depuración.
11. En la barra de menús, elija Depurar > Deshabilitar todos los puntos de interrupción .
1. Abra Greetings.xaml.cs y seleccione la línea siguiente: MessageBox.Show("Hello.")

2. Agregue un punto de interrupción en el menú seleccionando Depurar y después Alternar puntos de


interrupción .
Aparece un círculo rojo al lado de la línea de código en el margen izquierdo de la ventana del editor.
3. Seleccione la línea siguiente: MessageBox.Show("Goodbye.") .
4. Presione la tecla F9 para agregar un punto de interrupción y, después, presione F5 para iniciar la
depuración.
5. En la ventana Greetings , elija el botón de radio Hello y después elija el botón Mostrar .
La línea MessageBox.Show("Hello.") se resalta en amarillo. En la parte inferior del IDE, las ventanas
Automático, Variables locales e Inspección están acopladas juntas en el lado izquierdo, mientras que las
ventanas Pila de llamadas, Puntos de interrupción, Configuración de excepción, Comando, Inmediato y
Salida están acopladas juntas en el lado derecho.
6. En la barra de menús, elija Depurar > Paso a paso para salir .
La aplicación reanuda la ejecución y aparece un cuadro de mensaje con la palabra "Hello".
7. Elija el botón Aceptar en el cuadro de mensaje para cerrarlo.
8. En la ventana Greetings , elija el botón de radio Goodbye y después elija el botón Mostrar .
La línea MessageBox.Show("Goodbye.") se resalta en amarillo.
9. Presione la tecla F5 para continuar con la depuración. Cuando aparezca el cuadro de mensaje, elija el
botón Aceptar en el cuadro de mensaje para cerrarlo.
10. Cierre la ventana de la aplicación para detener la depuración.
11. En la barra de menús, elija Depurar > Deshabilitar todos los puntos de interrupción .
Visualización de una representación de los elementos de la interfaz de usuario
En la aplicación en ejecución, debería ver un widget que aparece en la parte superior de la ventana. El widget se
trata de una aplicación auxiliar en tiempo de ejecución que proporciona acceso rápido a algunas características
de depuración útiles. Seleccione el primer botón, Ir al árbol visual dinámico . Debería ver una ventana con un
árbol que contiene todos los elementos visuales de la página. Expanda los nodos para buscar los botones que ha
agregado.
Compilar una versión de lanzamiento de la aplicación
Ahora que ha comprobado que todo funciona, puede preparar una versión de lanzamiento de la aplicación.
1. En el menú principal, seleccione Compilar > Limpiar solución para eliminar los archivos intermedios y
de salida que se han creado durante las compilaciones anteriores. Este paso no es necesario, pero se
limpian las salidas de compilación de depuración.
2. Cambie la configuración de compilación de HelloWPFApp de Depurar a Liberar mediante el control de
lista desplegable en la barra de herramientas (dice "Depurar" actualmente).
3. Compile la solución seleccionando Compilar > Compilar solución .
Enhorabuena por completar este tutorial. Puede encontrar el .exe creado en el directorio de soluciones y
proyectos ( ...\HelloWPFApp\HelloWPFApp\bin\Release).

Pasos siguientes
Enhorabuena por completar este tutorial. Para más información, continúe con los tutoriales siguientes.
Continuar con más tutoriales de WPF

Vea también
Sugerencias de productividad
Creación de una aplicación de Windows Forms en
Visual Studio con C#
11/11/2021 • 7 minutes to read

En esta breve introducción al entorno de desarrollo integrado (IDE) de Visual Studio, creará una sencilla
aplicación de C# que tiene una interfaz de usuario (IU) basada en Windows.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.

NOTE
Algunas de las capturas de pantalla de este tutorial usan el tema oscuro. Si no está usando el tema oscuro pero le
gustaría hacerlo, vea la página Guía de inicio rápido: personalizar el IDE y el editor de Visual Studio para obtener
información sobre cómo hacerlo.

Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio 2022 para instalarlo de
forma gratuita.

Crear un proyecto
En primer lugar, se creará un proyecto de aplicación C#. En el tipo de proyecto se incluyen todos los archivos de
plantilla que vamos a necesitar, sin necesidad de agregar nada más.
1. Abra Visual Studio 2017.
2. En la barra de menús superior, elija Archivo > Nuevo > Proyecto .
3. En el cuadro de diálogo Nuevo proyecto del panel izquierdo, expanda Visual C# y seleccione
Escritorio de Windows . En el panel central, elija Aplicación de Windows Forms (.NET
Framework) . Luego, asigne al archivo el nombre HelloWorld .
Si no ve la plantilla de proyecto Aplicación de Windows Forms (.NET Framework) , cancele
haciendo clic fuera del cuadro de diálogo Nuevo proyecto y, en la barra de menús superior, elija
Herramientas > Get Tools and Features (Obtener herramientas y características). Se iniciará el
Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de escritorio de .NET y, luego,
seleccione Modificar .

1. Abra Visual Studio.


2. En la ventana de inicio, elija Crear un proyecto nuevo .
3. En la ventana Crear un nuevo proyecto , elija la plantilla Windows Forms App (.NET Framework)
para C#.
(Si lo prefiere, puede refinar la búsqueda para acceder rápidamente a la plantilla que desee. Por ejemplo,
escriba Windows Forms App en el cuadro de búsqueda. A continuación, elija C# en la lista de lenguajes y,
luego, Windows en la lista de plataformas).
NOTE
Si no ve la plantilla Aplicación de Windows Forms (.NET Framework) , puede instalarla desde la ventana
Crear un proyecto . En el mensaje ¿No encuentra lo que busca? , elija el vínculo Instalar más
herramientas y características .

Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de escritorio de .NET .

Después, elija el botón Modificar en el Instalador de Visual Studio. Es posible que se le pida que guarde su
trabajo; si es así, hágalo. Seguidamente, elija Continuar para instalar la carga de trabajo. Luego, vuelva al paso 2
de este procedimiento "Crear un proyecto".

4. En la ventana Configurar el nuevo proyecto , escriba HelloWorld en el cuadro Nombre del


proyecto . Luego, elija Crear .

Visual Studio se abre en el nuevo proyecto.


1. Abra Visual Studio.
2. En la ventana de inicio, seleccione Crear un proyecto .
3. En la ventana Crear un proyecto , seleccione la plantilla Windows Forms App (.NET Framework)
para C#.
Si lo prefiere, puede refinar la búsqueda para acceder rápidamente a la plantilla que desee. Por ejemplo,
escriba Windows Forms App en el cuadro de búsqueda. Después, seleccione C# en la lista de lenguajes y,
después, Windows en la lista de plataformas.
NOTE
Si no ve la plantilla Aplicación de Windows Forms (.NET Framework) , puede instalarla desde la ventana
Crear un proyecto . En el mensaje ¿No encuentra lo que busca? , seleccione el vínculo Instalar más
herramientas y características .

Luego, en el Instalador de Visual Studio, seleccione la carga de trabajo Desarrollo de escritorio de .NET .

Después, seleccione el botón Modificar en el Instalador de Visual Studio. Es posible que se le pida que guarde su
trabajo; si es así, hágalo. Seguidamente, seleccione Continuar para instalar la carga de trabajo. Luego, vuelva al
paso 2 de este procedimiento "Crear un proyecto".

4. En la ventana Configurar el nuevo proyecto , escriba HelloWorld en el cuadro Nombre del


proyecto . Seleccione Crear .

Visual Studio se abre en el nuevo proyecto.

Crear la aplicación
Tras seleccionar la plantilla de proyecto de C# y asignar un nombre al archivo, Visual Studio abre un formulario
automáticamente. Un formulario es una interfaz de usuario de Windows. Se va a crear una aplicación "Hello
World"; para ello, se agregarán controles al formulario y, después, se ejecutará la aplicación.
Agregar un botón al formulario
1. Seleccione Cuadro de herramientas para abrir la ventana flotante Cuadro de herramientas.
Si no ve la opción flotante Cuadro de herramientas , puede abrirla desde la barra de menús. Para ello,
seleccione Ver > Cuadro de herramientas . También puede presionar CTRL +Alt +X .
2. Seleccione el icono Anclar para acoplar la ventana Cuadro de herramientas .

3. Seleccione el control Botón y arrástrelo al formulario.

4. En la ventana Propiedades , busque Texto , cambie el nombre de button1 a Click this y, luego,
presione Entrar .
Si no ve la ventana Propiedades , puede abrirla desde la barra de menús. Para ello, seleccione Ver >
Ventana Propiedades . También puede presionar F4 .
5. En la sección Diseño de la ventana Propiedades , cambie el nombre de button1 a btnClickThis y, tras
ello, presione ENTRAR .
NOTE
Si ha ordenado la lista alfabéticamente en la ventana Propiedades , button1 aparece en cambio en la sección
(DataBindings) .

Agregar una etiqueta al formulario


Ya hemos agregado un control de botón para crear una acción, así que ahora vamos a agregar un control de
etiqueta al que enviar texto.
1. Seleccione el control Etiqueta desde la ventana Cuadro de herramientas , arrástrelo hasta el
formulario y colóquelo debajo del botón Click this .
2. En la sección Diseño o en la sección (DataBindings) de la ventana Propiedades , cambie el nombre de
label1 por lblHelloWorld y presione Entrar .
Agregar código al formulario
1. En la ventana Form1.cs [Diseño] , haga doble clic en el botón Click this para abrir la ventana
Form1.cs .
(También puede expandir Form1.vb en el Explorador de soluciones y luego elegir Form1 ).
2. En la ventana Form1.cs , después de la línea private void , escriba lblHelloWorld.Text = "Hello World!";
como se muestra en la captura de pantalla siguiente:

Ejecución de la aplicación
1. Seleccione el botón Iniciar para ejecutar la aplicación.

Ocurrirán varias cosas. En el IDE de Visual Studio, se abrirá la ventana Herramientas de diagnóstico y,
también, una ventana Salida . Pero fuera del IDE se abre un cuadro de diálogo Form1 . En él verá el botón
Click this y el texto label1 .
2. Seleccione el botón Click this en el cuadro de diálogo Form1 . Observe cómo el texto label1 cambia a
Hola mundo! .
3. Cierre el cuadro de diálogo Form1 para dejar de ejecutar la aplicación.

Crear la aplicación
Tras seleccionar la plantilla de proyecto de C# y asignar un nombre al archivo, Visual Studio abre un formulario
automáticamente. Un formulario es una interfaz de usuario de Windows. Se va a crear una aplicación "Hello
World"; para ello, se agregarán controles al formulario y, después, se ejecutará la aplicación.
Agregar un botón al formulario
1. Elija Cuadro de herramientas para abrir la ventana flotante Cuadro de herramientas.
Si no ve la opción flotante Cuadro de herramientas , puede abrirla desde la barra de menús. Para ello,
seleccione Ver > Cuadro de herramientas . También puede presionar CTRL +Alt +X .
2. Elija el icono Anclar para acoplar la ventana Cuadro de herramientas .

3. Elija el control Botón y arrástrelo al formulario.

4. En la ventana Propiedades , busque Texto , cambie el nombre de Button1 a Click this y, luego,
presione Entrar .

Si no ve la ventana Propiedades , puede abrirla desde la barra de menús. Para ello, elija Ver > Ventana
Propiedades . También puede presionar F4 .
5. En la sección Diseño de la ventana Propiedades , cambie el nombre de Button1 a btnClickThis y, tras
ello, presione ENTRAR .
NOTE
Si ha ordenado la lista alfabéticamente en la ventana Propiedades , Button1 aparece en cambio en la sección
(DataBindings) .

Agregar una etiqueta al formulario


Ya hemos agregado un control de botón para crear una acción, así que ahora vamos a agregar un control de
etiqueta al que enviar texto.
1. Seleccione el control Etiqueta desde la ventana Cuadro de herramientas , arrástrelo hasta el
formulario y colóquelo debajo del botón Click this .
2. En la sección Diseño o en la sección (DataBindings) de la ventana Propiedades , cambie el nombre de
Label1 por lblHelloWorld y presione Entrar .
Agregar código al formulario
1. En la ventana Form1.cs [Diseño] , haga doble clic en el botón Click this para abrir la ventana
Form1.cs .
(También puede expandir Form1.vb en el Explorador de soluciones y luego elegir Form1 ).
2. En la ventana Form1.cs , después de la línea private void , escriba lblHelloWorld.Text = "Hello World!";
como se muestra en la captura de pantalla siguiente:
Ejecutar la aplicación
1. Elija el botón Iniciar para ejecutar la aplicación.

Ocurrirán varias cosas. En el IDE de Visual Studio, se abrirá la ventana Herramientas de diagnóstico y,
también, una ventana Salida . Pero fuera del IDE se abre un cuadro de diálogo Form1 . En él verá el botón
Click this y el texto Label1 .
2. Elija el botón Click this en el cuadro de diálogo Form1 . Observe cómo el texto Label1 cambia a Hello
World! .

3. Cierre el cuadro de diálogo Form1 para dejar de ejecutar la aplicación.

Pasos siguientes
Para obtener más información, continúe con el tutorial siguiente:
Tutorial: Crear un visor de imágenes

Vea también
Más tutoriales de C#
Tutoriales de Visual Basic
Tutoriales de C++
Procedimiento Ejecución de un programa de C# en
Visual Studio
11/11/2021 • 6 minutes to read

El procedimiento para ejecutar un programa depende del punto de partida, del tipo de programa y de si quiere
que se ejecute en el depurador. En el caso más sencillo, para compilar y ejecutar un proyecto abierto en
Visual Studio, debe hacer lo siguiente:
Presione F5 , elija Depurar > Iniciar con depuración en el menú de Visual Studio o seleccione la flecha
Iniciar de color verde y el nombre del proyecto en la barra de herramientas de Visual Studio.
O bien, para ejecutar sin depuración, presione CTRL +F5 o elija Depurar > Iniciar sin depuración en el
menú de Visual Studio.

Inicio a partir de un proyecto


Puede ejecutar un proyecto de C# o un archivo .csproj si es un programa ejecutable. Si un proyecto contiene un
archivo de C# con un método Main y su resultado es un ejecutable o .exe, lo más probable es que se ejecute si
se compila correctamente.
1. Si el código del programa ya se encuentra en un proyecto de Visual Studio, abra dicho proyecto. Para ello,
puede hacer doble clic o pulsar en el archivo .csproj en el Explorador de archivos de Windows, o bien
elegir Open a project (Abrir un proyecto) en Visual Studio, buscar el archivo .csproj y seleccionarlo.
2. Una vez que el proyecto se carga en Visual Studio, si la solución de Visual Studio contiene más de un
proyecto, asegúrese de establecer el que tiene el método Main como proyecto de inicio. Para establecer
el proyecto de inicio, haga clic con el botón derecho en el nombre o nodo del proyecto en el Explorador
de soluciones y elija Establecer como proyecto de inicio en el menú contextual.
3. Para ejecutar el programa, presione CTRL +F5 , seleccione Depurar > Iniciar sin depuración en el
menú superior o seleccione el botón Iniciar de color verde.
Visual Studio intenta compilar y ejecutar el proyecto. En la parte inferior de la pantalla de Visual Studio,
aparece la salida de compilación en la ventana Salida , mientras que los errores de compilación aparecen
en la ventana Lista de errores .
Si la compilación se realiza correctamente, la aplicación se ejecuta de la forma adecuada para el tipo de
proyecto. Las aplicaciones de consola se ejecutan en una ventana de terminal, las de escritorio de
Windows se inician en una ventana de escritorio nueva y las aplicaciones web se ejecutan en un
explorador hospedado por IIS Express.

Inicio a partir de código


Si empieza a partir de un listado de código, un archivo de código o un número reducido de archivos, asegúrese
primero de que el código sea un programa ejecutable procedente de un origen de confianza. Cualquier
aplicación con un método Main es probablemente un programa ejecutable. Puede usar la plantilla Aplicación de
consola con el fin de crear un proyecto para trabajar con la aplicación en Visual Studio.
Listado de código para un solo archivo
1. Inicie Visual Studio y abra un proyecto de aplicación de consola de C# vacío.
2. Reemplace todo el código del archivo .cs del proyecto por el contenido de la lista de código o el archivo.
3. Cambie el nombre del archivo .cs del proyecto de modo que coincida con el nombre del archivo de código.
Varias listas de código o archivos en disco
1. Inicie Visual Studio y cree un proyecto del tipo adecuado. Use la aplicación de consola de C# si no está
seguro.
2. En el nuevo proyecto, reemplace todo el código del archivo de código del proyecto por el contenido del
primer archivo o lista de código.
3. Cambie el nombre del archivo de código del proyecto de modo que coincida con el nombre del archivo de
código.
4. Para cada archivo de código restante:
a. Haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones y elija
Agregar > Elemento existente , o bien seleccione el proyecto y presione Mayús +Alt +A .
b. Vaya al archivo de código y selecciónelo para importarlo en el proyecto.
Varios archivos en una carpeta
Si tiene una carpeta con muchos archivos, primero compruebe si hay un archivo de proyecto o solución. Los
programas que crea Visual Studio tienen archivos de proyecto y solución. En el Explorador de archivos de
Windows, busque archivos con la extensión .csproj o .sln. Haga doble clic en el archivo .csproj para abrirlo en
Visual Studio. Vea Inicio a partir de una solución o un proyecto de Visual Studio.
Si el código es de otro entorno de desarrollo, no hay ningún archivo de proyecto. Abra la carpeta mediante
Abrir > Carpeta en Visual Studio. Vea Desarrollo de código sin proyectos o soluciones.

Inicio a partir de un repositorio de GitHub o Azure DevOps


Si el código que quiere ejecutar está en un repositorio de GitHub o Azure DevOps, puede usar Visual Studio para
abrir el proyecto directamente desde el repositorio. Vea Apertura de un proyecto desde un repositorio.

Ejecutar el programa
Para empezar a compilar el programa, presione el botón Iniciar de color verde de la barra de herramientas de
Visual Studio, o bien presione F5 o CTRL +F5 . Mediante el uso del botón Iniciar o F5 , el programa se ejecuta en
el depurador.
Visual Studio intenta compilar y ejecutar el código del proyecto. Si una compilación no se realiza correctamente,
consulte las secciones siguientes para obtener algunas ideas sobre cómo hacer que el proyecto se compile
correctamente.

Solución de problemas
El código podría tener errores. También podría ser correcto, pero depender de ensamblados o paquetes NuGet
que faltan, o bien tener como destino una versión diferente de .NET. En esos casos, es posible que pueda corregir
fácilmente la compilación.
Agregar referencias
Para que se compile de la forma adecuada, el código debe ser correcto y tener las referencias adecuadas en
bibliotecas u otras dependencias. Los subrayados ondulados de color rojo en el código o las entradas de la lista
de errores muestran los errores incluso antes de que el programa se compile y se ejecute. Si los errores están
relacionados con nombres no resueltos, es probable que tenga agregar una referencia o una directiva using , o
ambas. Si el código hace referencia a ensamblados o paquetes NuGet que faltan, tendrá que agregar esas
referencias al proyecto.
Visual Studio intenta ayudarle a identificar las referencias que faltan. Cuando hay un nombre sin resolver,
aparece un icono de bombilla en el editor. Seleccione la bombilla para ver sugerencias sobre cómo corregir el
problema. Las correcciones pueden ser las siguientes:
Incorporación de una directiva using
Incorporación de una referencia a un ensamblado
Instalación de un paquete NuGet
Incorporación de una directiva using
Este es un ejemplo de una directiva using que falta. Puede agregar using System; al inicio del archivo de
código para resolver el nombre Console no resuelto:

Incorporación de una referencia a un ensamblado


Las referencias de .NET pueden ser ensamblados o paquetes NuGet. En el código fuente, el publicador o el autor
suelen explicar qué ensamblados requiere el código y de qué paquetes depende. Para agregar una referencia a
un proyecto manualmente, haga clic con el botón derecho en el nodo Referencias del Explorador de
soluciones y elija Agregar referencia . En el Administrador de referencias , busque y agregue el
ensamblado necesario.
Puede buscar ensamblados y agregar referencias si sigue las instrucciones indicadas en Adición o eliminación
de referencias con el Administrador de referencias.
Adición de un paquete NuGet
Si Visual Studio detecta que falta un paquete NuGet, aparece una bombilla y le ofrece la opción de instalarlo:
Si eso no soluciona el problema o si Visual Studio no encuentra el paquete, intente buscarlo en línea. Vea
Instalación y uso de un paquete NuGet en Visual Studio.
Uso de la versión correcta de .NET
Como las distintas versiones de .NET Framework tienen cierto grado de compatibilidad con versiones
anteriores, un marco de trabajo más reciente podría ejecutar código escrito para un marco anterior sin
necesidad de realizar cambios. Aun así, en ocasiones es necesario establecer como destino una versión
específica de .NET Framework. Es posible que tenga que instalar una versión específica de .NET Framework o
.NET Core. Vea Modificación de Visual Studio.
Para cambiar la versión de destino de .NET Framework, vea Cambio del marco de destino. Para más
información, vea Solución de problemas de versión de .NET Framework de destino.

Pasos siguientes
Explore el entorno de desarrollo de Visual Studio; para ello, lea Le damos la bienvenida al IDE de
Visual Studio.
Creación de la primera aplicación de C#
Tutorial: Abrir un proyecto desde un repositorio
11/11/2021 • 10 minutes to read

En este tutorial, usará Visual Studio para conectarse por primera vez a un repositorio y luego abrir un proyecto
desde él.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.

Apertura de un proyecto desde un repositorio de GitHub


Visual Studio facilita la apertura de un proyecto desde un repositorio. Puede hacerlo al iniciar Visual Studio, o
bien directamente desde el IDE de Visual Studio.
Esta es la manera de hacerlo.
Uso de la ventana de inicio
1. Abra Visual Studio.
2. En la ventana de inicio, seleccione Clonar un repositorio .

3. Especifique o escriba la ubicación del repositorio y seleccione el botón Clonar .


4. Es posible que se le solicite su información de inicio de sesión en el cuadro de diálogo Información de
usuario de GIT . Puede agregar su información o editar la información predeterminada que se
proporciona.

Seleccione Guardar para agregar la información al archivo global .gitconfig, o bien, seleccione Cancelar
para agregarla más adelante.

TIP
Para más información sobre cómo iniciar sesión en Visual Studio, consulte la página Iniciar sesión en
Visual Studio . Para información específica sobre cómo usar una cuenta de GitHub para iniciar sesión, consulte la
página Trabajar con cuentas de GitHub en Visual Studio . Si recibe una notificación de confianza y desea
más información al respecto, consulte la página Configurar la confianza de archivos y carpetas.

Vista de archivos en el Explorador de soluciones


1. Luego, Visual Studio carga las soluciones desde el repositorio mediante la Vista de carpetas en el
Explorador de soluciones .
Para ver una solución en Vista de solución , haga doble clic en el archivo .sln correspondiente.
También puede seleccionar el botón Cambiar vistas y, luego, seleccionar Program.cs para ver el código
de una solución.

TIP
La vista predeterminada está establecida en Vista de carpetas. Puede cambiarla a la Vista de solución en el menú Git . Para
ello, seleccione Configuración > Control de código fuente > Configuración global de Git > Cargar
automáticamente la solución al abrir un repositorio GIT .

Apertura de un proyecto de forma local desde un repositorio de GitHub clonado anteriormente


1. Abra Visual Studio.
2. En la ventana de inicio, seleccione Abrir un proyecto o una solución .
Visual Studio abre una instancia del Explorador de archivos, donde puede buscar la solución o el proyecto
y seleccionarlos para abrirlos.

TIP
Si ha abierto el proyecto o la solución recientemente, selecciónelos en la sección Abrir recientes para abrirlos de
nuevo rápidamente.

Ya puede empezar a codificar.


Uso del IDE
También puede utilizar el menú Git o el control Seleccionar repositorio en el IDE de Visual Studio para
interactuar con las carpetas y los archivos de un repositorio.
Esta es la manera de hacerlo.
Para clonar un repositorio y abrir un proyecto
1. En el IDE de Visual Studio, seleccione el menú Git y, luego, Clonar repositorio .

2. Siga las indicaciones para conectarse al repositorio de Git que incluye los archivos que está buscando.
Para abrir carpetas y archivos locales
1. En el IDE de Visual Studio, seleccione el menú Git , Repositorios locales y, luego, Abrir repositorio
local .
Puede realizar la misma tarea en el Explorador de soluciones . Para hacerlo, elija el control
Seleccionar repositorio , seleccione el icono de puntos suspensivos que se encuentra junto al cuadro
Filtrar repositorios y, luego, seleccione Abrir repositorio local .

2. Siga las indicaciones para conectarse al repositorio de Git que tiene los archivos que está buscando.

Navegación a una instancia de Azure DevOps Server


Aquí se muestra cómo navegar a una instancia de Azure DevOps Server mediante Visual Studio.
1. Abra Visual Studio.
2. En la ventana de inicio, seleccione Clonar un repositorio .
3. En la sección Examinar un repositorio , seleccione Azure DevOps .

4. Siga las indicaciones para conectarse a una instancia de Azure DevOps Server que hospeda los archivos
que busca.

Apertura de un proyecto desde un repositorio de GitHub con


Visual Studio 2019
La forma de abrir un proyecto desde un repositorio de GitHub mediante Visual Studio depende de la versión
que tiene. En concreto, si tiene instalada la versión 16.8 o posteriores de Visual Studio 2019, tiene a su
disposición una experiencia de Git en Visual Studio nueva completamente integrada.
De todas formas, independientemente de la versión que tenga instalada, siempre puede abrir un proyecto desde
un repositorio de GitHub con Visual Studio.
16.8 y versiones posteriores
A continuación, verá cómo usar Git en la versión 16.8 o posteriores de Visual Studio 2019.
Clonación de un repositorio de GitHub y apertura de un proyecto
1. Abra Visual Studio 2019.
2. En la ventana de inicio, seleccione Clonar un repositorio .

3. Especifique o escriba la ubicación del repositorio y, luego, seleccione Clonar .


4. Es posible que se le solicite su información de inicio de sesión en el cuadro de diálogo Información de
usuario de GIT . Puede agregar su información o editar la información predeterminada que se
proporciona.

Seleccione Guardar para agregar la información al archivo global .gitconfig, o bien, seleccione Cancelar
para agregarla más adelante.

TIP
Para obtener más información sobre cómo iniciar sesión en Visual Studio, consulte la página Iniciar sesión en
Visual Studio. Asimismo, para obtener información específica sobre cómo usar su cuenta de GitHub para iniciar
sesión, consulte la página Trabajar con cuentas de GitHub en Visual Studio.

Después de esto, Visual Studio carga automáticamente la solución y la abre desde el repositorio.

5. Si el repositorio contiene varias soluciones, las verá en Explorador de soluciones. Para ver la lista de
soluciones, seleccione el botón Cambiar vistas del Explorador de soluciones.
El Explorador de soluciones le permite abrir la carpeta raíz en Vista de carpetas o seleccionar un
archivo de solución para abrirlo.

Para alternar la vista, seleccione de nuevo el botón Cambiar vistas .


TIP
También puede usar el menú Git en el IDE de Visual Studio para clonar un repositorio y abrir un proyecto.

Apertura de un proyecto de forma local desde un repositorio de GitHub clonado anteriormente


1. Abra Visual Studio 2019, versión 16.8 o posteriores.
2. En la ventana de inicio, seleccione Abrir un proyecto o una solución .
Visual Studio abre una instancia del Explorador de archivos, donde puede buscar la solución o el proyecto
y seleccionarlos para abrirlos.

Si ha abierto el proyecto o la solución recientemente, selecciónelos en la sección Abrir recientes para


abrirlos de nuevo rápidamente.
TIP
También puede usar el menú Git en el IDE de Visual Studio para abrir archivos y carpetas locales desde un
repositorio que haya clonado previamente.

Ya puede empezar a codificar.


16.7 y versiones anteriores
A continuación, verá cómo usar Git en la versión 16.7 o anteriores de Visual Studio 2019.
Clonación de un repositorio de GitHub y apertura de un proyecto
1. Abra Visual Studio 2019, versión 16.7 o anteriores.
2. En la ventana de inicio, seleccione Clonar o extraer código del repositorio .

3. Especifique o escriba la ubicación del repositorio y, luego, seleccione Clonar .


Visual Studio abre el proyecto desde el repositorio.
4. Si hay disponible un archivo de solución, aparecerá en el menú emergente "Soluciones y carpetas".
Selecciónelo y Visual Studio abrirá la solución.

Si no hay un archivo de solución (específicamente, un archivo .sln) en el repositorio, el menú desplegable


indica "No se encontró ninguna solución". Sin embargo, puede hacer doble clic en cualquier archivo del
menú de carpeta para abrirlo en el editor de código de Visual Studio.
Ya puede empezar a codificar.
Conexión a una instancia de Azure DevOps Server con
Visual Studio 2019
Lo que ve cuando se conecta a una instancia de Azure DevOps Server mediante Visual Studio 2019 depende de
la versión que tiene. En concreto, si tiene instalada la versión 16.8 o una versión posterior, hemos cambiado la
interfaz de usuario para ofrecer una nueva experiencia de Git en Visual Studio completamente integrada.
De todas formas, independientemente de la versión que tenga instalada, siempre puede conectarse a una
instancia de Azure DevOps Server con Visual Studio.
16.8 y versiones posteriores
1. Abra Visual Studio 2019, versión 16.8 o posteriores.
2. En la ventana de inicio, seleccione Clonar un repositorio .

3. En la sección Examinar un repositorio , seleccione Azure DevOps .


4. Si se abre una ventana de inicio de sesión, inicie sesión en su cuenta.
5. En el cuadro de diálogo Conectar a un proyecto , seleccione el repositorio al que quiere conectarse y,
después, haga clic en Clonar .
TIP
Si no ve una lista previamente rellenada de repositorios a los que conectarse, seleccione Agregar una instancia
de Azure DevOps Ser ver para escribir la dirección URL de un servidor. También es posible que vea el mensaje
"No se han encontrado servidores", que incluye vínculos para agregar una instancia existente de Azure DevOps
Server o crear una cuenta de Azure DevOps.

Después, Visual Studio abre el Explorador de soluciones y muestra las carpetas y los archivos.
6. Seleccione la pestaña Team Explorer para ver las acciones de Azure DevOps.
16.7 y versiones anteriores
1. Abra Visual Studio 2019, versión 16.7 o posteriores.
2. En la ventana de inicio, seleccione Clonar o extraer código del repositorio .
3. En la sección Examinar un repositorio , seleccione Azure DevOps .

Si se abre una ventana de inicio de sesión, inicie sesión en su cuenta.


4. En el cuadro de diálogo Conectar a un proyecto , seleccione el repositorio al que quiere conectarse y,
después, haga clic en Clonar .
NOTE
El contenido del cuadro de lista depende de los repositorios de Azure DevOps a los que tiene acceso.

Visual Studio abre Team Explorer y aparece una notificación cuando se completa la clonación.

5. Para ver los archivos y carpetas, seleccione el vínculo Mostrar vista de carpeta .
Visual Studio abre el Explorador de soluciones .
6. Elija el vínculo Soluciones y carpetas para buscar un archivo de solución (específicamente, un archivo
.sln).

Si no hay ningún archivo de solución en el repositorio, aparecerá el mensaje "No se encontró ninguna
solución". Sin embargo, puede hacer doble clic en cualquier archivo del menú de carpeta para abrirlo en
el editor de código de Visual Studio.

Apertura de un proyecto desde un repositorio de GitHub con


Visual Studio 2017
1. Abra Visual Studio 2017.
2. En la barra de menús superior, seleccione Archivo > Abrir > Abrir desde el control de código
fuente .
Se abre el panel Team Explorer : conectar .
3. En la sección Repositorios GIT locales , seleccione Clonar .

4. En el cuadro que indica Enter the URL of a Git repo to clone _ (Especifique la dirección URL del
repositorio Git que se va a clonar), escriba o pegue la dirección URL del repositorio y presione _ENTRAR.
(Es posible que se le solicite iniciar sesión en GitHub. Si es así, hágalo).
Una vez que Visual Studio clona el repositorio, Team Explorer se cierra y se abre el Explorador de
soluciones. Aparece un mensaje que indica Haga clic en Soluciones y carpetas arriba para ver una lista de
soluciones. Elija Soluciones y carpetas .

5. Si hay disponible un archivo de solución, aparecerá en el menú emergente "Soluciones y carpetas". Elíjalo
y Visual Studio abrirá la solución.
Si no hay un archivo de solución (específicamente, un archivo .sln) en el repositorio, el menú desplegable
dirá "No se encontró ninguna solución". Sin embargo, puede hacer doble clic en cualquier archivo del
menú de carpeta para abrirlo en el editor de código de Visual Studio.
Revisión del trabajo
Vea la animación siguiente para comprobar el trabajo que ha realizado en la sección anterior.

Apertura de un proyecto desde un repositorio de Azure DevOps con


Visual Studio 2017
1. Abra Visual Studio 2017.
2. En la barra de menús superior, seleccione Archivo > Abrir > Abrir desde el control de código
fuente .
Se abre el panel Team Explorer : conectar .

3. Existen dos maneras de conectarse al repositorio de Azure DevOps:


En la sección Proveedores de ser vicio hospedado , seleccione Conectar… .

En la lista desplegable Administrar conexiones , seleccione Conectar a un proyecto… .


4. En el cuadro de diálogo Conectar a un proyecto , seleccione el repositorio al que quiere conectarse y,
después, haga clic en Clonar .

NOTE
El contenido del cuadro de lista depende de los repositorios de Azure DevOps a los que tiene acceso.

5. Una vez que Visual Studio clona el repositorio, Team Explorer se cierra y se abre el Explorador de
soluciones. Aparece un mensaje que indica Haga clic en Soluciones y carpetas arriba para ver una lista de
soluciones. Elija Soluciones y carpetas .
Un archivo de solución (específicamente, un archivo .sln) aparecerá en el menú desplegable "Soluciones y
carpetas". Elíjalo y Visual Studio abrirá la solución.
Si no hay un archivo de solución en el repositorio, el menú desplegable dirá "No se encontró ninguna
solución". Sin embargo, puede hacer doble clic en cualquier archivo del menú de carpeta para abrirlo en
el editor de código de Visual Studio.

Pasos siguientes
No dude en profundizar en cualquiera de estos tutoriales específicos del lenguaje:
Tutoriales de Visual Studio | C#
Tutoriales de Visual Studio | Visual Basic
Tutoriales de Visual Studio | C++
Tutoriales de Visual Studio | Python
Tutoriales de Visual Studio | JavaScript , TypeScript y Node.js

Consulte también
La experiencia Git en Visual Studio
Comparación de Git y Team Explorer en paralelo
Microsoft Learn: Introducción a Git y GitHub en Visual Studio
Microsoft Learn: Introducción a Azure DevOps
Azure DevOps Services: Get started with Azure Repos and Visual Studio (Azure DevOps Services:
Introducción a Azure Repos y Visual Studio)
Información sobre cómo usar el editor de código
con C#
11/11/2021 • 12 minutes to read

En esta introducción de 10 minutos al editor de código en Visual Studio, se agrega código a un archivo para ver
algunas de las formas en que Visual Studio hace que escribir y comprender el código de C# (así como
desplazarse por él) sea más fácil.

TIP
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.

Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
En este artículo se da por hecho que ya está familiarizado con C#. Si no lo está, le aconsejamos que antes eche
un vistazo a un tutorial del tipo Introducción a C# y ASP.NET Core en Visual Studio.

TIP
Para realizar los procedimientos de este artículo, asegúrese de que tiene la configuración de C# seleccionada en Visual
Studio. Para más información sobre cómo seleccionar configuraciones del entorno de desarrollo integrado (IDE), vea Select
environment settings (Seleccionar la configuración del entorno).

Crear un archivo de código


Empezaremos creando un archivo y agregándole código.
1. Abra Visual Studio.
2. En el menú Archivo de la barra de menús, elija Nuevo >Archivo o presione Ctrl +N .
3. En el cuadro de diálogo Nuevo archivo , en la categoría General , elija Clase de Visual C# y, después,
elija Abrir .
Se abre un archivo nuevo en el editor con el esqueleto de una clase de C#. (Observe que no es necesario
crear un proyecto de Visual Studio completo para aprovechar algunas de las ventajas que ofrece el editor
de código; lo único que se necesita es un archivo de código).
1. Abra Visual Studio. Presione Esc o haga clic en Continuar sin código en la ventana de inicio para abrir
el entorno de desarrollo.
2. En el menú Archivo de la barra de menús, elija Nuevo >Archivo o presione Ctrl +N .
3. En el cuadro de diálogo Nuevo archivo , en la categoría General , elija Clase de Visual C# y, después,
elija Abrir .
Se abre un archivo nuevo en el editor con el esqueleto de una clase de C#. (Observe que no es necesario
crear un proyecto de Visual Studio completo para aprovechar algunas de las ventajas que ofrece el editor
de código; lo único que se necesita es un archivo de código).

1. Abra Visual Studio. Presione Esc o elija Continuar sin código en la ventana de inicio para abrir el
entorno de desarrollo.
2. En el menú Archivo de la barra de menús, elija Nuevo >Archivo o presione Ctrl +N .
3. En el cuadro de diálogo Nuevo archivo , en la categoría General , elija Clase de Visual C# y, después,
elija Abrir .
Se abre un archivo nuevo en el editor con el esqueleto de una clase de C#. No es necesario crear un
proyecto de Visual Studio completo para aprovechar algunas de las ventajas que ofrece el editor de
código; lo único que se necesita es un archivo de código.
.

Uso de fragmentos de código


Visual Studio proporciona fragmentos de código muy prácticos que pueden servir para generar bloques de
código de uso común de forma rápida y sencilla. Existen fragmentos de código disponibles para diferentes
lenguajes de programación, como C#, Visual Basic y C++.
Vamos a agregar el fragmento de código de C# void Main a nuestro archivo.
1. Coloque el cursor justo encima de la llave de cierre final } en el archivo y escriba los caracteres svm (que
es el acrónimo de static void Main —no se preocupe demasiado si no sabe lo que significa).
Aparece un cuadro de diálogo emergente con información sobre el fragmento de código svm .

2. Presione la tecla TAB dos veces para insertar el fragmento de código.


Verá cómo la firma del método static void Main() se agrega al archivo. El método Main() es el punto de
entrada de las aplicaciones de C#.
Los fragmentos de código disponibles varían según el lenguaje de programación. Para ver los fragmentos de
código disponibles para el lenguaje, seleccione Editar > IntelliSense > Inser tar fragmento de código o
presione Ctrl +K , Ctrl +X y, después, elija la carpeta del lenguaje. En C#, la lista tiene el siguiente aspecto:
1. Coloque el cursor justo encima de la llave de cierre final } en el archivo y escriba los caracteres svm .
svm significa static void Main , no se preocupe si no sabe lo que significa aún.

Aparece un cuadro de diálogo emergente con información sobre el fragmento de código svm .

2. Presione la tecla TAB dos veces para insertar el fragmento de código.


Verá cómo la firma del método static void Main() se agrega al archivo. El método Main() es el punto de
entrada de las aplicaciones de C#.
Los fragmentos de código disponibles varían según el lenguaje de programación. Para ver los fragmentos de
código disponibles para su lenguaje, elija Editar > IntelliSense > Inser tar fragmento de código o presione
Ctrl +K , Ctrl +X y, después, elija la carpeta correspondiente a su lenguaje de programación. En C#, la lista de
fragmentos de código tiene el siguiente aspecto:
La lista incluye fragmentos de código para crear una clase, un constructor, un bucle for, una instrucción if o
switch, etc.

Marcar código como comentario


La barra de herramientas, que es la fila de botones debajo de la barra de menús de Visual Studio, puede ayudar
a mejorar la productividad mientras se codifica. Por ejemplo, puede alternar el modo de finalización de
IntelliSense (IntelliSense es una ayuda de codificación que muestra una lista de métodos coincidentes, entre
otras cosas), aumentar o reducir una sangría de línea o comentar el código que no quiere compilar. En esta
sección se comenta algún código.

1. Pegue el siguiente código en el cuerpo del método Main() .

// _words is a string array that we'll sort alphabetically


string[] _words = {
"the",
"quick",
"brown",
"fox",
"jumps"
};

string[] morewords = {
"over",
"the",
"lazy",
"dog"
};

IEnumerable<string> query = from word in _words


orderby word.Length
select word;

2. No se usa la variable morewords , pero puede que sí se haga más adelante, así que no se elimina por
completo. En su lugar, lo que haremos será convertir esas líneas en comentarios. Seleccione toda la
definición de morewords hasta el punto y coma de cierre, y luego, elija el botón Comment out the
selected lines (Convertir en comentario las líneas seleccionadas) en la barra de herramientas. Si
prefiere usar el teclado, presione Ctrl +K , Ctrl +C .

Los caracteres de comentario de C# // se agregan al principio de cada línea seleccionada para marcar el
código como comentario.
La barra de herramientas, que es la fila de botones debajo de la barra de menús de Visual Studio, ayuda a
mejorar la productividad mientras se crea código. Por ejemplo, puede activar o desactivar el modo de
finalización de IntelliSense, aumentar o reducir una sangría o convertir en comentario código que no se quiere
compilar.

Vamos a convertir en comentario algo de código.


1. Pegue el siguiente código en el cuerpo del método Main() .

// someWords is a string array.


string[] someWords = {
"the",
"quick",
"brown",
"fox",
"jumps"
};

string[] moreWords = {
"over",
"the",
"lazy",
"dog"
};

// Alphabetically sort the words.


IEnumerable<string> query = from word in someWords
orderby word
select word;

2. No vamos a usar la variable moreWords , pero puede que sí lo hagamos más adelante, así que no la
eliminaremos. En su lugar, lo que haremos será convertir esas líneas en comentarios. Seleccione toda la
definición de moreWords hasta el punto y coma final, y luego elija el botón Comment out the selected
lines (Convertir en comentario las líneas seleccionadas) en la barra de herramientas. Si prefiere usar el
teclado, presione Ctrl +K , Ctrl +C .

Los caracteres de comentario de C# // se agregan al principio de cada línea seleccionada para marcar el
código como comentario.
Contraer bloques de código
Como no queremos ver el constructor vacío que se generó para Class1 , para despejar la vista del código
vamos a contraerlo. Seleccione el pequeño cuadro gris con el signo menos que se ve en el margen de la primera
línea del constructor. O bien, si prefiere usar el teclado, coloque el cursor en cualquier lugar del código del
constructor y presione Ctrl +M , Ctrl +M .

El bloque de código se contrae para mostrar únicamente la primera línea seguida de un botón de puntos
suspensivos ( ... ). Para expandir el bloque de código de nuevo, haga clic en el mismo cuadro gris (que ahora
tiene un signo más) o presione CTRL +M , CTRL +M otra vez. Esta característica se denomina Esquematización y
es especialmente útil cuando se contraen métodos muy largos o clases enteras.

El bloque de código se contrae para mostrar únicamente la primera línea seguida de un botón de puntos
suspensivos ( ... ). Para expandir de nuevo el bloque de código, seleccione el mismo cuadro gris (que ahora
tiene un signo más) o presione CTRL +M , CTRL +M otra vez. Esta característica se denomina Esquematización y
es especialmente útil cuando se contraen métodos muy largos o clases enteras.

Ver definiciones de símbolos


Gracias al editor de Visual Studio, es muy sencillo inspeccionar la definición de un tipo, método, etc. Una forma
consiste en ir al archivo que contiene la definición, por ejemplo, seleccionando Ir a definición o presionando
F12 en cualquier lugar donde se haga referencia al símbolo. Otra más rápida aún (y que no desplaza el enfoque
del archivo en el que está trabajando) es usar Ver la definición. Vamos a ver la definición del tipo string .
1. Haga clic con el botón derecho en cualquier instancia de string y elija Ver la definición en el menú de
contenido. O bien, presione Alt +F12 .
Se abrirá una ventana emergente con la definición de la clase String . Puede desplazarse dentro de la
ventana emergente o incluso ver la definición de otro tipo desde el código inspeccionado.

2. Para cerrar la ventana de definición inspeccionada, seleccione el pequeño cuadro con una "x" en la
esquina superior derecha de la ventana emergente.
El editor de Visual Studio facilita la inspección de la definición de un tipo, un método o una variable. Una forma
es ir a la definición, en cualquier archivo que la tenga y elegir Ir a definición o presionar F12 en cualquier
lugar donde se haga referencia a un símbolo. Otra forma aún más rápida (y que no desplaza el foco del código
en el que está trabajando) es usar Ver la definición.
Vamos a ver la definición del tipo string .
1. Haga clic con el botón derecho en cualquier instancia de string y elija Ver la definición en el menú de
contenido. O bien, presione Alt +F12 .
Se abrirá una ventana emergente con la definición de la clase String . Puede desplazarse dentro de la
ventana emergente o incluso ver la definición de otro tipo desde el código inspeccionado.

.
2. Para cerrar la ventana Ver la definición, seleccione el pequeño cuadro con una "x" en la esquina superior
derecha de la ventana emergente.

Usar IntelliSense para completar palabras


IntelliSense es un recurso impagable cuando se escribe código. Así, puede mostrar información sobre los
miembros disponibles de un tipo o detalles de los parámetros para las distintas sobrecargas de un método.
IntelliSense puede servir también para completar una palabra después de escribir una serie de caracteres y, así,
eliminar cualquier tipo de ambigüedad. Se va a agregar una línea de código para imprimir las cadenas
ordenadas en la ventana de la consola, que es el lugar estándar para la salida del programa.
1. Empiece a escribir el siguiente código debajo de la variable query :

foreach (string str in qu

Verá cómo IntelliSense muestra Información rápida sobre el símbolo query .

2. Presione Tab para insertar el resto de la palabra query por medio de la funcionalidad de finalización de
palabras de IntelliSense.
3. Termine el bloque de código de modo que se parezca al siguiente código. Puede incluso practicar usando
de nuevo fragmentos de código; para ello, escriba cw y, después, presione la tecla TAB dos veces para
generar el código Console.WriteLine .

foreach (string str in query)


{
Console.WriteLine(str);
}

IntelliSense es un recurso impagable cuando se escribe código. Así, puede mostrar información sobre los
miembros disponibles de un tipo o detalles de los parámetros para las distintas sobrecargas de un método.
IntelliSense puede servir también para completar una palabra después de escribir una serie de caracteres y, así,
eliminar cualquier tipo de ambigüedad.
Se va a agregar una línea de código para imprimir las cadenas ordenadas en la ventana de la consola, que es el
lugar estándar para la salida del programa.
1. Empiece a escribir el siguiente código debajo de la variable query :

foreach (string str in qu

Verá que aparece un elemento emergente de IntelliSense con información sobre el símbolo query .

2. Para insertar el resto de la palabra query con la finalización de palabras de IntelliSense, presione el
tabulador .
3. Termine el bloque de código de modo que se parezca al siguiente código. Para practicar más con los
fragmentos de código, escriba cw y, luego, presione el tabulador dos veces para generar la instrucción
Console.WriteLine .

foreach (string str in query)


{
Console.WriteLine(str);
}

Refactorizar un nombre
Nadie crea código correctamente la primera vez y una de las cosas que probablemente se tengan que cambiar
es el nombre de una variable o un método. Vamos a probar la funcionalidad de refactorización de Visual Studio
para cambiar el nombre de la variable _words a words .
1. Coloque el cursor sobre la definición de la variable _words , haga clic con el botón derecho y elija
Cambiar nombre en el menú contextual, o bien presione Ctrl +R , Ctrl +R .
Se abre un cuadro de diálogo emergente Cambiar nombre en la parte superior derecha del editor.
2. Escriba el nombre deseado, words . Observe que la referencia a words en la consulta también cambia
automáticamente de nombre. Antes de presionar ENTRAR , active la casilla Incluir comentarios del
cuadro emergente Cambiar nombre .
3. Presione ENTRAR .
Ambas instancias de words han cambiado de nombre, así como la referencia a words en el comentario
de código.
Nadie crea código correctamente la primera vez y una de las cosas que probablemente se tengan que cambiar
es el nombre de una variable o un método. Vamos a probar la funcionalidad de refactorización de Visual Studio
para cambiar el nombre de la variable someWords a unsortedWords .
1. Coloque el cursor sobre la definición de la variable someWords y elija Cambiar nombre en el menú
contextual, o bien presione F2 .
Aparece un cuadro de diálogo Cambiar nombre en la esquina superior derecha del editor.

2. Escriba el nombre deseado, unsor tedWords . Verá que la referencia a unsortedWords en la instrucción
de asignación query también cambia de nombre automáticamente. Antes de presionar ENTRAR , active
la casilla Incluir comentarios del cuadro emergente Cambiar nombre .

3. Presione Entrar o elija Aplicar en el cuadro de diálogo Cambiar nombre .


Ambas instancias de someWords en el código han cambiado de nombre, así como el texto someWords en
el comentario de código.

Pasos siguientes
Información sobre proyectos y soluciones

Vea también
Fragmentos de código
Navegación en el código
Esquematización
Ir a definición y Ver la definición
Refactorización
Uso de IntelliSense
Compilar y generar en Visual Studio
11/11/2021 • 2 minutes to read

Para obtener una primera introducción a la compilación dentro del IDE, vea Tutorial: Compilación de una
aplicación.
Puede usar cualquiera de los siguientes métodos para compilar una aplicación: el IDE de Visual Studio, las
herramienta de línea de comandos de MSBuild y Azure Pipelines:

M ÉTO DO DE C O M P IL A C IÓ N VEN TA JA S

IDE - Crear compilaciones inmediatamente y probarlas en un


depurador.
- Ejecutar compilaciones multiprocesador para proyectos de
C++ y C#.
- Personalizar aspectos diferentes del sistema de
compilación.

CMake - Compilar proyectos con la herramienta CMake


- Usar el mismo sistema de compilación en plataformas
Windows y Linux.

Línea de comandos de MSBuild - Compilar proyectos sin instalar Visual Studio.


- Ejecutar compilaciones multiprocesador para todos los
tipos de proyecto.
- Personalizar la mayoría de las áreas del sistema de
compilación.

Azure Pipelines - Automatizar el proceso de compilación como parte de una


canalización de integración continua o entrega continua.
- Aplicar pruebas automatizadas con cada compilación.
- Emplear recursos basados en la nube prácticamente
ilimitados para los procesos de compilación.
- Modificar el flujo de trabajo de compilación y crear
actividades de compilación para realizar tareas muy
personalizadas.

La documentación de esta sección analiza en detalle el proceso de compilación basado en el IDE. Para obtener
más información sobre los otros métodos, vea CMake, MSBuild y Azure Pipelines, respectivamente.

NOTE
Este tema se aplica a Visual Studio para Windows. En el caso de Visual Studio para Mac, vea Compilar y generar en Visual
Studio para Mac.

Introducción a la compilación desde el IDE


Cuando crea un proyecto, Visual Studio crea las configuraciones de compilación predeterminadas para el
proyecto y la solución que contiene el proyecto. Estas configuraciones definen cómo se compilan y se
implementan las soluciones y los proyectos. Las configuraciones de proyecto, en concreto, son únicas para una
plataforma de destino (por ejemplo, Windows o Linux) y para un tipo de compilación (por ejemplo, depuración
o publicación). Puede editar estas configuraciones como quiera y también puede crear sus propias
configuraciones según sea necesario.
Para obtener una primera introducción a la compilación dentro del IDE, vea Tutorial: Compilación de una
aplicación.
Después, vea Compilar y limpiar proyectos y soluciones en Visual Studio para obtener información sobre las
diversas personalizaciones que puede llevar a cabo en el proceso. Entre las personalizaciones se incluyen
cambiar los directorios de salida, especificar eventos de compilación personalizados, administrar dependencias
del proyecto, administrar archivos del registro de compilación y suprimir las advertencias del compilador.
De ahí en adelante, puede explorar otras tareas:
Descripción de las configuraciones de compilación
Descripción de las plataformas de compilación
Administración de propiedades de soluciones y proyectos
Especificar eventos de compilación en C# y Visual Basic
Establecer las opciones de compilación
Compilar varios proyectos en paralelo

Consulta también
Compilar proyectos de sitios web
Compilar y generar (Visual Studio para Mac)
Proyectos de CMake en Visual Studio
Tutorial: Información sobre cómo depurar código
de C# con Visual Studio
11/11/2021 • 25 minutes to read

En este artículo se describen las características del depurador de Visual Studio en un tutorial paso a paso. Si
quiere ahondar en las características del depurador, vea Primer vistazo al depurador. Normalmente, depurar una
aplicación significa ejecutar la aplicación con el depurador activado. Al hacerlo, el depurador ofrece muchas
formas de ver lo que hace el código durante la ejecución. Esto permite revisar el código y fijarse en los valores
almacenados en variables, establecer inspecciones en ellas para ver cuándo cambian los valores, examinar la
ruta de ejecución del código, ver si una rama de código está en funcionamiento, etc. Si esta es la primera vez
que intenta depurar código, le recomendamos que lea Depuración para principiantes sin experiencia antes de
continuar con este artículo.
Aunque la aplicación de demostración está en C#, la mayoría de las características son aplicables a C++, Visual
Basic, F#, Python, JavaScript y otros lenguajes compatibles con Visual Studio (F# no admite Editar y continuar,
mientras que F# y JavaScript no admiten la ventana Automático ). Las capturas de pantalla son de código C#.
En este tutorial va a:
Iniciar el depurador y llegar a puntos de interrupción
Conocer los comandos para analizar el código en el depurador
Inspeccionar variables en la información sobre datos y las ventanas del depurador
Examinar la pila de llamadas

Requisitos previos
Debe tener instalados Visual Studio 2022 y la carga de trabajo Desarrollo de escritorio de .NET .
Debe tener instalados Visual Studio 2019 y la carga de trabajo Desarrollo multiplataforma de .NET Core .
Debe tener instalados Visual Studio 2017 y la carga de trabajo Desarrollo multiplataforma de .NET Core .
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma
gratuita.
Si tiene que instalar la carga de trabajo pero ya tiene Visual Studio, vaya a Herramientas > Obtener
herramientas y características… y se abrirá el Instalador de Visual Studio. Se iniciará el Instalador de Visual
Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET Core y, después, Modificar .
Si ya tiene instalado Visual Studio, pero la carga de trabajo Desarrollo de escritorio de .NET no lo está, vaya
a Herramientas > Get Tools and Features... (Obtener herramientas y características...) para iniciar el
Instalador de Visual Studio. En el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de escritorio
de .NET y, luego, seleccione Modificar .

Crear un proyecto
En primer lugar, creará un proyecto de aplicación de consola de .NET Core. En el tipo de proyecto se incluyen
todos los archivos de plantilla que vamos a necesitar, sin necesidad de agregar nada más.
1. Abra Visual Studio 2017.
2. En la barra de menús superior, elija Archivo > Nuevo > Proyecto .
3. En el cuadro de diálogo Nuevo proyecto del panel de la izquierda, expanda C# y seleccione .NET Core .
En el panel central, elija Aplicación de consola (.NET Core) . Después, asigne el nombre get-started-
debugging al proyecto.
Si no ve la plantilla de proyecto Aplicación de consola (.NET Core) , elija en el vínculo Abrir el
instalador de Visual Studio en el panel izquierdo del cuadro de diálogo Nuevo proyecto .
Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET
Core y, después, elija Modificar .
1. Abra Visual Studio.
Si la ventana de inicio no está abierta, elija Archivo > Ventana Inicio .
2. En la ventana de inicio, elija Crear un proyecto nuevo .
3. En el cuadro de búsqueda de la ventana Crear un proyecto , escriba consola. Seguidamente, elija C# en
la lista de lenguajes y luego, Windows en la lista de plataformas.
Después de aplicar los filtros de lenguaje y plataforma, elija la plantilla Aplicación de consola para
.NET Core y luego elija Siguiente .

NOTE
Si no ve la plantilla Aplicación de consola , puede instalarla desde la ventana Crear un proyecto . En el
mensaje ¿No encuentra lo que busca? , elija el vínculo Instalar más herramientas y características .
Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo multiplataforma de .NET Core .

4. En la ventana Configurar el nuevo proyecto , escriba GetStartedDebugging en el cuadro Nombre del


proyecto . Después, elija Siguiente .
5. Elija la plataforma de destino recomendada (.NET Core 3.1) o .NET 5 y, a continuación, elija Crear .
Visual Studio se abre en el nuevo proyecto.
1. Abra Visual Studio.
Si la ventana de inicio no está abierta, elija Archivo > Ventana de inicio .
2. En la ventana de inicio, elija Crear un proyecto nuevo .
3. En el cuadro de búsqueda de la ventana Crear un proyecto , escriba consola. Seguidamente, elija C# en
la lista de lenguajes y luego, Windows en la lista de plataformas.
Después de aplicar los filtros de lenguaje y plataforma, elija la plantilla Aplicación de consola y, luego,
Siguiente .

NOTE
Si no ve la plantilla Aplicación de consola , puede instalarla desde la ventana Crear un nuevo proyecto . En el
mensaje ¿No encuentra lo que busca? , elija el vínculo Instalar más herramientas y características . A
continuación, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de escritorio de .NET .

4. En la ventana Configurar el nuevo proyecto , escriba GetStartedDebugging en el cuadro Nombre del


proyecto . Después, elija Siguiente .
5. En la ventana Información adicional , asegúrese de que está seleccionado .NET 6.0 (Preview)
(.NET 6.0 [versión preliminar]) en el menú desplegable Marco y, luego, elija Crear .
Visual Studio se abre en el nuevo proyecto.

Crear la aplicación
En Program.cs, reemplace todo el código predeterminado por el código siguiente:
using System;

class ArrayExample
{
static void Main()
{
char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
string name = "";
int[] a = new int[10];
for (int i = 0; i < letters.Length; i++)
{
name += letters[i];
a[i] = i + 1;
SendMessage(name, a[i]);
}
Console.ReadKey();
}

static void SendMessage(string name, int msg)


{
Console.WriteLine("Hello, " + name + "! Count to " + msg);
}
}

Inicio del depurador


1. Presione F5 (Depurar > Iniciar depuración ) o el botón Iniciar depuración en la barra de
herramientas de depuración.
Al pulsar F5 , la aplicación se inicia con el depurador activado para analizar los procesos. Como de
momento no hemos hecho nada especial para examinar el código, Por lo tanto, la aplicación solo se carga
y verá esta salida de la consola.

Hello, f! Count to 1
Hello, fr! Count to 2
Hello, fre! Count to 3
Hello, fred! Count to 4
Hello, fred ! Count to 5
Hello, fred s! Count to 6
Hello, fred sm! Count to 7
Hello, fred smi! Count to 8
Hello, fred smit! Count to 9
Hello, fred smith! Count to 10

En este tutorial, analizaremos con más profundidad el uso de esta aplicación junto con el depurador y
veremos las características del depurador.
2. Para detener el depurador, presione el botón de detención rojo (Mayús + F5 ).
3. En la ventana de consola, presione una tecla para cerrarla.
Aquí se usan principalmente métodos abreviados de teclado, ya que es una manera rápida de ejecutar
comandos del depurador. También se anotan los comandos equivalentes, como los comandos de menú o de
barra de herramientas.
1. Para iniciar el depurador, seleccione F5 o elija el botón Destino de depuración en la barra de
herramientas estándar. Otro modo es elegir el botón Iniciar depuración en la barra de herramientas de
depuración o Depurar > Iniciar depuración en la barra de menú.
F5 inicia la aplicación con el depurador asociado al proceso de aplicación. Puesto que no hemos hecho
nada especial para examinar el código, la aplicación se ejecuta hasta su finalización y puede ver la salida
de la consola.

Hello, f! Count to 1
Hello, fr! Count to 2
Hello, fre! Count to 3
Hello, fred! Count to 4
Hello, fred ! Count to 5
Hello, fred s! Count to 6
Hello, fred sm! Count to 7
Hello, fred smi! Count to 8
Hello, fred smit! Count to 9
Hello, fred smith! Count to 10

2. Para detener el depurador, presione Mayús+F5 o elija el botón Detener depuración en la barra de
herramientas de depuración. Otro modo es elegir Depurar > Detener depuración en la barra de
menú.

3. En la ventana de la consola, presione una tecla para cerrarla.

Establecer un punto de interrupción e iniciar el depurador


1. En el bucle for de la función Main , establezca un punto de interrupción haciendo clic en el margen
izquierdo de la línea de código siguiente:
name += letters[i];

Aparece un círculo rojo donde establezca el punto de interrupción.


Los puntos de interrupción son una de las características más básicas y esenciales de una depuración
confiable. Un punto de interrupción indica dónde Visual Studio debe suspender la ejecución de código
para poder echar un vistazo a los valores de las variables o al comportamiento de la memoria, o
determinar si se está ejecutando o no una bifurcación de código.
2. Presione F5 o el botón Iniciar depuración . La aplicación se inicia y el depurador se ejecuta en la línea
de código en la que haya establecido el punto de interrupción.
La flecha amarilla representa la instrucción en la que el depurador se ha puesto en pausa, lo cual también
suspende la ejecución de la aplicación en el mismo punto (esta instrucción todavía no se ha ejecutado).
Si la aplicación todavía no se está ejecutando, F5 permite iniciar el depurador, que se detendrá en el
primer punto de interrupción. En caso contrario, F5 permite continuar ejecutando la aplicación hasta el
siguiente punto de interrupción.
Los puntos de interrupción son una característica de utilidad cuando se conoce la línea o la sección de
código que se quiere examinar en detalle. Para obtener información sobre los diferentes tipos de puntos
de interrupción que se pueden establecer, como los puntos de interrupción condicionales, vea Uso de
puntos de interrupción.
1. En el bucle for de la función Main , establezca un punto de interrupción haciendo clic en el margen
izquierdo de la línea de código siguiente:
name += letters[i];

En el lugar en el que establezca el punto de interrupción aparecerá un círculo rojo.

Los puntos de interrupción son una de las características esenciales para una depuración confiable. Puede
establecer puntos de interrupción donde quiera que Visual Studio pause la ejecución de código, de forma
que pueda examinar los valores de las variables o el comportamiento de la memoria, o saber si una
bifurcación de código se ejecuta o no.
2. Para iniciar la depuración, seleccione F5 o elija el botón Destino de depuración en la barra de
herramientas estándar. Otro modo es elegir el botón Iniciar depuración en la barra de herramientas de
depuración o Depurar > Iniciar depuración en la barra de menú. La aplicación se inicia y el depurador
se ejecuta hasta la línea de código en la que haya establecido el punto de interrupción.
La flecha amarilla apunta a la instrucción en la que se detuvo el depurador. La ejecución de la aplicación
se pausa en el mismo punto, con la instrucción aún sin ejecutar.
Cuando la aplicación no se está ejecutando, al presionar F5 se iniciará el depurador, que ejecutará la
aplicación hasta llegar al primer punto de interrupción. Si la aplicación está en pausa en un punto de
interrupción, al presionar F5 se seguirá ejecutando la aplicación hasta que llegue al siguiente punto de
interrupción.
Los puntos de interrupción son una característica útil cuando se conoce la línea o la sección de código
que se quiere examinar en detalle. Para más información sobre los diferentes tipos de puntos de
interrupción que se pueden establecer, como los puntos de interrupción condicionales, consulte Uso de
puntos de interrupción.

Navegación por el código e inspección de los datos mediante


sugerencias de datos
Normalmente, aquí usamos métodos abreviados de teclado porque son una buena forma de ejecutar
rápidamente la aplicación en el depurador, pero los comandos equivalentes, como los comandos de menú, se
muestran entre paréntesis.
1. Mientras está en pausa en la instrucción name += letters[i] , mantenga el mouse sobre la variable
letters y verá su valor predeterminado, el valor del primer elemento de la matriz char[10] .

Las características que le permiten inspeccionar las variables son una de las más útiles del depurador y
ofrecen diferentes formas de hacerlo. A menudo, para depurar un problema, debe intentar averiguar si
las variables están almacenando los valores que espera que tengan en un momento determinado.
2. Expanda la variable letters para ver sus propiedades, que incluyen todos los elementos que contiene.
3. Después, mantenga el mouse sobre la variable name y verá su valor actual, una cadena vacía.
4. Presione F10 dos veces, o bien elija Depurar > Depurar paso a paso por procedimientos , para
avanzar hasta la llamada de método SendMessage y, después, vuelva a presionar F10 .
F10 hace avanzar el depurador hasta la siguiente instrucción sin depurar las funciones ni los métodos del
código de la aplicación paso a paso por instrucciones (el código se sigue ejecutando). Al presionar F10 en
la llamada de método SendMessage , se omite el código de implementación de SendMessage (algo que
quizás no nos interese en este momento).
5. Presione F10 varias veces, o bien elija Depurar >Depurar paso a paso por procedimientos , para
iterar varias veces por el bucle for , deténgase de nuevo en el punto de interrupción y mantenga el
puntero sobre la variable name cada vez para comprobar su valor.

El valor de la variable cambia con cada iteración del bucle for y muestra los valores de f , después, fr ,
luego, fre , etc. Para hacer que el depurador avance por el bucle más rápido en este escenario, puede
presionar F5 , o bien elegir Depurar > Continuar , en su lugar, lo que le permite avanzar hasta el punto
de interrupción en lugar de hasta la siguiente instrucción.
A menudo, al realizar una depuración, queremos una forma rápida de comprobar los valores de las
propiedades de las variables para ver si se almacenan los valores correspondientes, y las sugerencias de
datos son una buena forma de verlo.
6. Mientras aún está en pausa en el bucle for del método Main , presione F11 hasta que esté en pausa en
la llamada de método SendMessage , o bien elija Depurar > Depurar paso a paso por instrucciones .
Debe estar en esta línea de código:
SendMessage(name, a[i]);

7. Presione F11 una vez más para entrar en el método SendMessage .


El puntero de color amarillo avanza hasta el método SendMessage .

F11 es el comando Depurar paso a paso por instrucciones y permite avanzar la ejecución de la
aplicación de instrucción en instrucción. F11 es una buena forma de examinar el flujo de ejecución con
más detalle. De forma predeterminada, el depurador omite el código que no es de usuario (si quiere más
detalles, vea Solo mi código).
Imagine que ha terminado de examinar el método SendMessage y quiere salir de él, pero permanecer en
el depurador. Puede hacerlo con el comando Salir de la depuración .
8. Presione Mayús + F11 , o bien Depurar > Salir de la depuración .
Este comando reanuda la ejecución de la aplicación (y hace avanzar el depurador) hasta que se devuelve
el método o la función actual.
Debería volver a estar en el bucle for del método Main , detenido en la llamada al método SendMessage .
Para más información sobre las distintas formas de desplazarse por el código, vea Navegación por el
código en el depurador.
1. Mientras está en pausa en la instrucción name += letters[i] , mantenga el puntero sobre la variable
letters para ver una sugerencia de datos que muestre el tamaño de la matriz y el tipo de elemento,
char[10] .

NOTE
Una de las características más útiles del depurador es su capacidad para inspeccionar una variable. A menudo, al
depurar un problema, debe intentar averiguar si las variables tienen los valores que espera en un momento
determinado. Una buena forma de hacerlo es ver las sugerencias de datos.

2. Expanda la variable letters para ver todos sus elementos de matriz y sus valores.

3. Mantenga el puntero sobre la variable name y verá su valor actual, que es una cadena vacía.
4. Para avanzar el depurador a la siguiente instrucción, presione F10 o elija el botón Depurar paso a paso
por procedimientos en la barra de herramientas de depuración. Otro modo es elegir Depurar >
Depurar paso a paso por procedimientos en la barra de menú. Presione F10 dos veces más para
avanzar más allá de la llamada de método SendMessage .
Al presionar F10 avanza el depurador sin depurar paso a paso por instrucciones la función ni los
métodos, si bien el código todavía se ejecuta. De este modo, se omite la depuración del código en el
método SendMessage , que no nos interesa en este momento.
5. Para recorrer en iteración el bucle for varias veces, seleccione F10 de forma repetida. Durante cada
iteración del bucle, deténgase en el punto de interrupción y, luego, mantenga el puntero sobre la variable
name para comprobar su valor en la sugerencia de datos.

El valor de la variable cambia con cada iteración del bucle for y muestra los valores de f , después, fr ,
luego, fre , etc. Para hacer avanzar el depurador por el bucle más rápido, seleccione F5 en su lugar, que
permite avanzar al punto de interrupción en lugar de a la instrucción siguiente.
6. Mientras está en pausa en el bucle for del método Main , seleccione F11 o elija el botón Depurar paso
a paso por instrucciones en la barra de herramientas de depuración. Otro modo es elegir Depurar >
Depurar paso a paso por instrucciones en la barra de menú, hasta que llegue a la llamada de
método SendMessage .
El depurador debe pausarse en esta línea de código:
SendMessage(name, a[i]);

7. Para depurar paso a paso por instrucciones el método SendMessage , presione de nuevo F11 .
El puntero de color amarillo avanza hasta el método SendMessage .

F11 le ayuda a examinar el flujo de ejecución del código con más profundidad. Para depurar paso a paso
por instrucciones un método desde una llamada de método, seleccione F11 . De forma predeterminada,
el depurador omite la depuración paso a paso por instrucciones de métodos que no son de usuario. Para
información sobre cómo depurar código que no es de usuario, consulte Solo mi código.
Cuando haya terminado de depurar el método SendMessage , estará listo para volver al bucle for del
método main .
8. Para salir del método SendMessage , presione Mayús+F11 o elija el botón Salir de la depuración de la
barra de herramientas de depuración. Otro modo es elegir Depurar > Salir de la depuración en la
barra de menú.
La opción Salir de la depuración reanuda la ejecución de la aplicación y hace avanzar el depurador
hasta que se devuelve el método o la función actuales.
Verá el puntero amarillo de nuevo en el bucle for del método Main , detenido en la llamada de método
SendMessage . Para más información sobre las distintas formas de desplazarse por el código, vea
Navegación por el código en el depurador.

Navegación por el código con Ejecutar hasta clic


1. Presione F5 para avanzar de nuevo hasta el punto de interrupción.
2. En el editor de código, desplácese hacia abajo y mantenga el puntero sobre el método Console.WriteLine
del método SendMessage hasta que aparezca el botón verde Ejecutar hasta hacer clic a la izquierda.
aparezca a la izquierda. La información sobre herramientas del botón muestra "Ejecutar hasta aquí".

NOTE
El botón Ejecutar hasta clic es una novedad de Visual Studio 2017. (Si no ve el botón con la flecha de color
verde, presione F11 en este ejemplo para hacer avanzar el depurador hasta el lugar correcto).

3. Haga clic en el botón Ejecutar hasta hacer clic .


El depurador avanza hasta el método Console.WriteLine .
Usar este botón es similar a establecer un punto de interrupción temporal. La característica Ejecutar
hasta clic es útil para desplazarse rápidamente por un área visible del código de la aplicación (puede
hacer clic en cualquier archivo abierto).
1. Presione F5 para avanzar de nuevo hasta el punto de interrupción.
2. En el editor de código, mantenga el puntero sobre la llamada de método Console.WriteLine del método
SendMessage hasta que aparezca el botón verde Ejecutar hasta hacer clic a la izquierda. La
información sobre herramientas del botón muestra "Ejecutar hasta aquí".

3. Elija el botón Ejecutar hasta hacer clic . Como alternativa, con el cursor en la instrucción
Console.WriteLine , presione Ctrl+F10 . O bien, haga clic con el botón derecho en la llamada de método
Console.WriteLine y elija Ejecutar hasta el cursor en el menú contextual.

El depurador avanza hasta la llamada de método Console.WriteLine .


El uso del botón Ejecutar hasta hacer clic es parecido a establecer un punto de interrupción temporal
y resulta útil para moverse rápidamente dentro de una región visible del código de la aplicación en un
archivo abierto.

Reiniciar la aplicación rápidamente


Haga clic en el botón Reiniciar de la barra de herramientas de depuración (Ctrl + Mayús + F5 ).
El botón Reiniciar permite ahorrar tiempo, ya que hace que no sea necesario detener la aplicación y reiniciar el
depurador. El depurador se detiene en el primer punto de interrupción que se alcanza al ejecutar el código.
El depurador se detiene de nuevo en el punto de interrupción que ha establecido antes dentro del bucle for .
Para volver a ejecutar la aplicación desde el principio en el depurador presione Ctrl+Mayús+F5 o elija el botón
Reiniciar en la barra de herramientas de depuración. Otro modo es elegir Depurar > Reiniciar en la barra de
menú.

Reiniciar detiene el depurador y, luego, lo reinicia, en un paso. Cuando se reinicie el depurador, se ejecutará
hasta el primer punto de interrupción, que es el punto de interrupción que estableció anteriormente dentro del
bucle for y, luego, se pausa.

Inspeccionar variables con las ventanas Automático y Variables locales


1. Vea la ventana Automático , en la parte inferior del editor de código.
Si está cerrada, ábrala mientras está en pausa en el depurador seleccionando Depurar > Ventanas >
Automático .
En la ventana Automático puede ver las variables y su valor actual. En la ventana Automático se
muestran todas las variables que se usan en la línea actual o en la anterior. Para consultar el
comportamiento específico de los lenguajes, vea la documentación.
2. A continuación, examine la ventana Variables locales en una pestaña situada junto a la ventana
Automático .
3. Expanda la variable letters para mostrar los elementos que contiene.
En la ventana Variables locales se muestran las variables que se encuentran en el ámbito actual, es
decir, en el contexto de ejecución actual.
Las ventanas Automático y Variables locales muestran valores de variables durante la depuración. Las
ventanas solo están disponibles durante una sesión de depuración. La ventana Automático muestra las
variables usadas en la línea actual en la que se encuentra el depurador y en la línea anterior. La ventana
Variables locales muestra las variables definidas en el ámbito local, que suele ser la función o el método
actuales.
1. Mientras el depurador está en pausa, examine la ventana Automático de la parte inferior del editor de
código.
Si la ventana Automático está cerrada, presione Ctrl+D, A , o elija Depurar > Ventanas > Automático
en la barra de menú.
2. Con el depurador aún en pausa, examine la ventana Variables locales , en una pestaña situada junto a la
ventana Automático .
Si la ventana Variables locales está cerrada, presione Ctrl+D, L , o elija Depurar > Ventanas >
Variables locales .
3. En la ventana Variables locales , expanda la variable letters para ver sus elementos de la matriz y sus
valores.
Para más información sobre las ventanas Automático y Variables locales , consulte Inspección de las
variables en las ventanas Variables locales y Automático.

Establecer una inspección


1. En la ventana del editor de código principal, haga clic con el botón derecho en la variable name y elija
Agregar inspección .
En la parte inferior del editor de código se abre la ventana Inspección . Puede usar una ventana
Inspección para especificar una variable (o una expresión) que quiera supervisar.
Ahora, ha establecido una inspección en la variable name y puede ver cómo cambia su valor según
avanza en el depurador. A diferencia de las otras ventanas de variables, en la ventana Inspección
siempre se muestran las variables que está viendo (y se atenúan cuando están fuera del ámbito).
Puede especificar una variable, o una expresión, que quiera vigilar a medida que avanza por el código—
agregándola a la ventana Inspección .
1. Mientras el depurador está en pausa, haga clic con el botón derecho en la variable name y elija Agregar
inspección .
La ventana Inspección se abre de forma predeterminada en la parte inferior del editor de código.
2. Ahora que ha establecido una inspección sobre la variable name , avance por el código para ver que el
valor de la variable name cambia con cada iteración del bucle for .
A diferencia de las otras ventanas de variables, en la ventana Inspección siempre se muestran las
variables que está vigilando, aunque se atenúan cuando están fuera del ámbito.
Para más información sobre la ventana Inspección , consulte Inspección de variables con las ventanas de
inspección.

Examinar la pila de llamadas


1. Mientras esté en pausa en el bucle for , haga clic en la ventana Pila de llamadas , que se abrirá de
forma predeterminada en el panel inferior derecho.
Si está cerrada, ábrala mientras está en pausa en el depurador seleccionando Depurar > Ventanas >
Pila de llamadas .
2. Presione F11 varias veces hasta que vea que el depurador se detiene en el método SendMessage . Eche un
vistazo a la ventana Pila de llamadas .
En la ventana Pila de llamadas se muestra el orden en el que se llama a los métodos y las funciones. En
la línea superior se muestra la función actual (el método SendMessage en esta aplicación). En la segunda
línea se mostrará que se ha llamado a SendMessage desde el método Main , y así sucesivamente.

NOTE
La ventana Pila de llamadas es similar a la perspectiva de depuración de algunos IDE, como Eclipse.

La pila de llamadas es una buena forma de examinar y entender el flujo de ejecución de una aplicación.
Puede hacer doble clic en una línea de código para ver ese código fuente. De este modo, también puede
cambiar el ámbito que el depurador va a inspeccionar. Esta acción no hace avanzar el depurador.
También puede usar los menús contextuales de la ventana Pila de llamadas para hacer otras cosas. Por
ejemplo, puede insertar puntos de interrupción en funciones especificadas, avanzar el depurador
mediante Ejecutar hasta el cursor y examinar el código fuente. Para obtener más información, vea
Cómo: Examinar la pila de llamadas.
La opción Pila de llamadas puede ayudarle a comprender el flujo de ejecución de la aplicación, ya que
muestra el orden en el que se llama a los métodos y las funciones.
1. Mientras el depurador está en pausa en el bucle for , examine la ventana Pila de llamadas , que se abre
de forma predeterminada en el panel inferior derecho del editor de código.
Si la ventana Pila de llamadas está cerrada, presione Ctrl+D, C , o elija Depurar > Ventanas > Pila
de llamadas en la barra de menú.
En la ventana Pila de llamadas , verá el puntero amarillo en el método Main actual.
2. Presione F11 varias veces hasta que vea que el depurador se detiene en el método SendMessage .
La línea superior de la ventana Pila de llamadas muestra la función actual, que es el método
SendMessage . En la segunda línea se muestra que se ha llamado al método SendMessage desde el método
Main .

NOTE
La ventana Pila de llamadas es similar a la perspectiva de depuración de algunos IDE, como Eclipse.

En esta ventana, puede hacer doble clic en una línea de código para ir a ese código fuente, que cambia el
ámbito actual que inspecciona el depurador. Esta acción no hace avanzar el depurador.
También puede usar los menús contextuales de la ventana Pila de llamadas para hacer otras cosas. Por
ejemplo, puede insertar puntos de interrupción en funciones especificadas, hacer avanzar el depurador
mediante la función Ejecutar hasta el cursor o ir al código fuente.
Para más información sobre la ventana Pila de llamadas , consulte Examen de la pila de llamadas.

Cambio del flujo de ejecución


1. Presione F11 dos veces para ejecutar el método Console.WriteLine .
2. Con el depurador en pausa en la llamada al método SendMessage , use el mouse para seleccionar la flecha
de color amarillo (el puntero de ejecución) de la izquierda y moverla una línea hacia arriba, para volver a
Console.WriteLine .

3. Presione F11 .
El depurador volverá a ejecutar el método Console.WriteLine , lo cual se puede consultar en la salida de la
ventana de la consola.
Al cambiar el flujo de ejecución, puede, por ejemplo, comprobar las diferentes rutas de ejecución de
código o volver a ejecutar código sin tener que reiniciar el depurador.

WARNING
A menudo es necesario tener cuidado con esta característica, ya que puede ser que vea una advertencia en la
información en pantalla. También puede ser que reciba otras advertencias. El hecho de mover el puntero no
permite revertir la aplicación a un estado anterior.

4. Presione F5 para seguir ejecutando la aplicación.


Enhorabuena por completar este tutorial.
Puede mover el puntero de ejecución para cambiar el flujo de la aplicación durante la depuración.
1. Con el depurador en pausa en la llamada de método SendMessage del bucle for , seleccione F11 tres
veces para depurar paso a paso por instrucciones el método SendMessage y avanzar más allá del método
Console.WriteLine después de ejecutarlo.

El depurador ahora se pausa en la llave de cierre final del método SendMessage .


2. Use el mouse para capturar la flecha amarilla o el puntero de ejecución (en el margen izquierdo) y, luego,
arrastre el puntero una línea hacia arriba.
El depurador vuelve ahora a la instrucción Console.WriteLine .
3. Presione F11 .
El depurador vuelve a ejecutar el método Console.WriteLine y verá una línea duplicada en la salida de la
ventana de la consola.
4. Presione F5 para seguir ejecutando la aplicación.
Al cambiar el flujo de ejecución, puede, por ejemplo, comprobar las diferentes rutas de ejecución de código o
volver a ejecutar código sin tener que reiniciar el depurador.
WARNING
Use esta característica con cuidado. Verá una advertencia en la información sobre herramientas del puntero de ejecución
sobre la posibilidad de consecuencias no deseadas. También puede que reciba otras advertencias. Mover el puntero no
permite revertir la aplicación a un estado anterior.

Para más información sobre cómo cambiar el flujo de ejecución, consulte Mover el puntero para cambiar el flujo
de ejecución.
Enhorabuena por completar este tutorial.

Pasos siguientes
En este tutorial, ha aprendido a iniciar el depurador, a ejecutar el código paso a paso y a inspeccionar variables.
Puede ser que le interese analizar las características del depurador con más detenimiento, así como consultar
los vínculos disponibles con más información.
Primer vistazo al depurador
Introducción a las pruebas unitarias
11/11/2021 • 6 minutes to read

Use Visual Studio para definir y ejecutar pruebas unitarias para conservar el estado del código, garantizar la
cobertura del código y detectar errores y fallos antes de que lo hagan los clientes. Ejecute las pruebas unitarias
con frecuencia para asegurarse de que el código funciona correctamente.
En este artículo, el código usa C# y C++, las ilustraciones están en C#, pero los conceptos y las características se
aplican a los lenguajes .NET, C++, Python, JavaScript y TypeScript.

Crear pruebas unitarias


En esta sección se describe cómo crear un proyecto de prueba unitaria.
1. Abra el proyecto que quiere probar en Visual Studio.
Para los fines de demostración de una prueba unitaria de ejemplo, en este artículo se prueba un proyecto
de C# o C++ sencillo denominado HelloWorldCore (HelloWorldCore en C#). El código de ejemplo
para dicho proyecto es el siguiente:
.NET
C++

namespace HelloWorldCore

public class Program


{
public static void Main()
{
Console.WriteLine("Hello World!");
}
}

2. En el Explorador de soluciones , seleccione el nodo de la solución. Después, en la barra de menús


superior, seleccione Archivo > Agregar > Nuevo proyecto .
3. Cuadro de diálogo del nuevo proyecto, busque el proyecto de la prueba unitaria que se va a usar.
Escriba prueba en el cuadro de búsqueda para buscar una plantilla de proyecto de prueba unitaria para
el marco de pruebas que quiera usar, como MSTest (C#) o el proyecto Native Unit Test (C++), y
selecciónela.
Expanda el nodo Instalado , elija el lenguaje que quiere usar para el proyecto de prueba y, después, elija
Probar .
A partir de la versión 14.8 de Visual Studio 2017, los lenguajes de .NET incluyen plantillas integradas para
NUnit y xUnit. Para C++, en este ejemplo, seleccione el proyecto Native Unit Test que usa Microsoft
Native Unit Test Framework. (Para usar otro marco de pruebas de C++, vea Escribir pruebas unitarias
para C/C++). Para Python, consulte el artículo Configuración de pruebas unitarias para código de Python
para configurar el proyecto de prueba.
TIP
Solo para C#, puede crear proyectos de prueba unitaria a partir del código con un método más rápido. Para
obtener más información, vea Crear proyectos de prueba unitaria y métodos de prueba. Para usar este método
con .NET Core o .NET Standard, se requiere Visual Studio 2019.

En la ilustración siguiente se muestra una prueba unitaria de MSTest que es compatible con .NET.

Haga clic en Siguiente , elija un nombre para el proyecto de prueba y luego haga clic en Crear .

Elija un nombre para el proyecto de prueba, por ejemplo, HelloWorldTests, y haga clic en Aceptar .
El proyecto se agrega a la solución.
4. En el proyecto de prueba unitaria, agregue una referencia al proyecto que quiere probar haciendo clic con
el botón derecho en Referencias o Dependencias y luego elija Agregar referencia o Agregar
referencia de proyecto .
5. Seleccione el proyecto que contiene el código que va a probar y haga clic en Aceptar .

6. Agregue código al método de prueba unitaria.


Por ejemplo, puede usar el siguiente código mediante la selección de la pestaña de documentación
correcta para su marco de pruebas: MSTest, NUnit o xUnit (solo se admiten en .NET) o C++ Microsoft
Native Unit Test Framework.
MSTest
NUnit
xUnit
Microsoft Native Unit Test Framework
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.IO;
using System;

namespace HelloWorldTests
{
[TestClass]
public class UnitTest1
{
private const string Expected = "Hello World!";
[TestMethod]
public void TestMethod1()
{
using (var sw = new StringWriter())
{
Console.SetOut(sw);
HelloWorldCore.Program.Main();

var result = sw.ToString().Trim();


Assert.AreEqual(Expected, result);
}
}
}
}

Ejecutar pruebas unitarias


1. Abra el Explorador de pruebas.
Para abrir el Explorador de pruebas, elija Probar > Explorador de pruebas en la barra de menús
superior (o presione CTRL + E , T ).
Para abrir el Explorador de pruebas, elija Probar > Windows > Explorador de pruebas en la barra de
menús superior.
2. Haga clic en Ejecutar todas (o presione CTRL + R , V ) para ejecutar las pruebas unitarias.

Cuando se hayan completado las pruebas, una marca de verificación verde indica que una prueba se
superó. Un icono "x" rojo indica que una prueba no se superó.
TIP
Puede usar el Explorador de pruebas para ejecutar pruebas unitarias en el marco de pruebas integrado (MSTest) o en
marcos de pruebas de terceros. Puede agrupar las pruebas en categorías, filtrar la lista de pruebas y crear, guardar y
ejecutar listas de reproducción de pruebas. También puede depurar las pruebas, y analizar la cobertura de código y el
rendimiento de la prueba.

Visualización de los resultados de pruebas unitarias en vivo


(Visual Studio Enterprise)
Si está usando el marco de pruebas de MSTest, xUnit o NUnit en Visual Studio 2017 o versiones posteriores,
puede ver los resultados en vivo de sus pruebas unitarias.

NOTE
Para seguir estos pasos, se requiere Visual Studio Enterprise, junto con el código .NET y uno de los siguientes marcos de
prueba: MSTest, xUnit o NUnit.

1. Active Live Unit Testing desde el menú Probar seleccionando Probar > Live Unit Testing > Iniciar .
2. Vea los resultados de las pruebas dentro de la ventana del editor de código a medida que escribe y edita
el código.

3. Haga clic en un indicador de resultado de la prueba para obtener más información, como, por ejemplo,
los nombres de las pruebas que contemplan ese método.

Para obtener más información sobre esta característica, vea Live Unit Testing.

Uso de un marco de pruebas de terceros


Es posible ejecutar pruebas unitarias en Visual Studio con un marco de pruebas de un tercero, como NUnit,
Boost, Google C++ Testing Framework, en función del lenguaje de programación. Para usar un marco de
pruebas de terceros:
Use el Administrador de paquetes NuGet para instalar el paquete NuGet correspondiente al marco
de trabajo que prefiera.
(.NET) A partir de la versión 14.6 de Visual Studio 2017, Visual Studio incluye plantillas de proyecto de
prueba preconfiguradas para los marcos de pruebas de NUnit y xUnit. Estas plantillas también incluyen
los paquetes de NuGet necesarios para habilitar la compatibilidad.
(C++) En Visual Studio 2017 y versiones posteriores, algunos marcos, como Google C++ Testing
Framework, ya están incluidos. Para obtener más información, vea Escribir pruebas unitarias para C/C++
en Visual Studio.
Para agregar un proyecto de prueba unitaria:
1. Abra la solución que contiene el código que quiere probar.
2. Haga clic con el botón derecho en la solución en el Explorador de soluciones y seleccione Agregar >
Nuevo proyecto .
3. Seleccione una plantilla de proyecto de prueba unitaria.
En este ejemplo, seleccione NUnit.

Haga clic en Siguiente , asigne un nombre al proyecto y haga clic en Crear .


Asigne al proyecto un nombre y haga clic en Aceptar para crearlo.
La plantilla de proyecto incluye referencias de NuGet para NUnit y NUnit3TestAdapter.
4. Agregue una referencia del proyecto de prueba al proyecto que contiene el código que quiera probar.
Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y, luego, seleccione
Agregar > Referencia . (También puede agregar una referencia del menú contextual del nodo
Referencias o Dependencias ).
5. Agregue código a al método de prueba.

6. Ejecute la prueba desde el Explorador de pruebas o haga clic con el botón derecho en el código de
prueba y elija Ejecutar pruebas (o presione CTRL + R , T ).

Pasos siguientes
Conceptos básicos de prueba unitaria
Crear y ejecutar pruebas unitarias en código administrado
Escritura de pruebas unitarias para C/C++
Crear una base de datos y agregar las tablas en
Visual Studio
11/11/2021 • 6 minutes to read

Puede usar Visual Studio para crear y actualizar un archivo de base de datos local en SQL Server Express
LocalDB. También puede crear una base de datos mediante la ejecución de instrucciones Transact-SQL en la
ventana SQL Server Explorador de objetos herramientas de Visual Studio. En este tema, crearemos un archivo
.mdf y agregaremos tablas y claves mediante el Diseñador de tablas.

Prerrequisitos
Para completar este tutorial, necesitará las cargas de trabajo desarrollo de escritorio de .NET y Almacenamiento
y procesamiento de datos instaladas en Visual Studio. Para instalarlos, abra Instalador de Visual Studio elija
Modificar (o Más modificar) junto a la versión de Visual Studio que > desea modificar.

NOTE
Los procedimientos de este artículo solo se aplican a proyectos .NET Framework Windows Forms, no a proyectos de .NET
Core Windows Forms.

Crear un proyecto y un archivo de base de datos local


1. Cree un nuevo proyecto Windows Forms App (.NET Framework) y así mismo den el nombre
SampleDatabaseWalkthrough.
2. En la barra de menús, seleccione Project Agregar > nuevo elemento.
3. En la lista de plantillas de elemento, desplácese hacia abajo y seleccione Base de datos basada en
ser vicios .
4. Asigne a la base de datos el nombre SampleDatabase y, a continuación, haga clic en Agregar.
Agregar un origen de datos
1. Si la ventana Orígenes de datos no está abierta, ábrala presionando Mayús Alt D o seleccionando Ver
otros orígenes de datos Windows datos en + + > > la barra de menús.
2. En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos.

Se abre el Asistente para configuración del origen de datos.


3. En la página Elegir un tipo de origen de datos , elija Base de datos y, a continuación, elija Siguiente.
4. En la página Elegir un modelo de base de datos, elija Siguiente para aceptar el valor predeterminado
(conjunto de datos).
5. En la página Elegir la conexión de datos, seleccione el archivo SampleDatabase.mdf en la lista
desplegable y, a continuación, elija Siguiente.
6. En la página Guardar la cadena de conexión en el archivo de configuración de la aplicación, elija
Siguiente.
7. En la página Elegir los objetos de base de datos, verá un mensaje que indica que la base de datos no
contiene ningún objeto. Elija Finalizar .
Ver las propiedades de la conexión de datos
Para ver la cadena de conexión del archivo SampleDatabase.mdf, abra la ventana Propiedades de la conexión de
datos:
Seleccione Ver > SQL Ser ver Explorador de objetos para abrir SQL Server Explorador de objetos
ventana. Expanda (localdb)\MSSQLLocalDB Databases y, a continuación, haga clic con el botón
derecho en > SampleDatabase.mdf y seleccione Propiedades.
Como alternativa, puede seleccionar Ver > Explorador de ser vidores , si esa ventana aún no está
abierta. Abra el ventana Propiedades el nodo Conexiones de datos, haga clic con el botón derecho en
SampleDatabase.mdf y seleccione Propiedades.

TIP
Si no puede expandir el nodo Conexiones de datos o no aparece la conexión SampleDatabase.mdf, seleccione el
botón Conectar a base de datos en la barra de herramientas Explorador de servidores datos. En el cuadro de
diálogo Agregar conexión, asegúrese de que Microsoft SQL Server archivo de base de datos está seleccionado en
Origen de datos y, a continuación, vaya al archivo SampleDatabase.mdf y selecciónelo. Para finalizar la adición de
la conexión, seleccione Aceptar.

Creación de tablas y claves mediante Diseñador de tablas


En esta sección, creará dos tablas, una clave principal en cada tabla y algunas filas de datos de ejemplo. También
creará una clave externa para especificar cómo se corresponden los registros de una tabla con los registros de la
otra tabla.
Creación de la tabla Customers
1. En Explorador de ser vidores , expanda el nodo Conexiones de datos y, a continuación, expanda el
nodo SampleDatabase.mdf.
Si no puede expandir el nodo Conexiones de datos o no aparece la conexión SampleDatabase.mdf,
seleccione el botón Conectar a base de datos en la barra de herramientas Explorador de servidores
datos. En el cuadro de diálogo Agregar conexión, asegúrese de que Microsoft SQL Server archivo de
base de datos está seleccionado en Origen de datos y, a continuación, vaya al archivo
SampleDatabase.mdf y selecciónelo. Para finalizar la adición de la conexión, seleccione Aceptar.
2. Haga clic con el botón derecho en Tablas y seleccione Agregar nueva tabla.
El Diseñador de tablas se abre y muestra una cuadrícula con una fila predeterminada que representa una
columna única de la tabla que está creando. Al agregar filas a la cuadrícula, agregará columnas en la
tabla.
3. En la cuadrícula, agregue una fila para cada una de las entradas siguientes:

N O M B RE DE L A C O L UM N A T IP O DE DATO S P ERM IT IR VA LO RES N UL L

CustomerID nchar(5) False (desactivada)

CompanyName nvarchar(50) False (desactivada)

ContactName nvarchar (50) True (seleccionada)


N O M B RE DE L A C O L UM N A T IP O DE DATO S P ERM IT IR VA LO RES N UL L

Phone nvarchar (24) True (seleccionada)

4. Haga clic con el botón derecho en CustomerID la fila y seleccione Establecer clave principal.
5. Haga clic con el botón derecho en la fila predeterminada ( Id ) y, a continuación, seleccione Eliminar .
6. Asigne un nombre a la tabla Customers actualizando la primera línea del panel de script para que
coincida con el ejemplo siguiente:

CREATE TABLE [dbo].[Customers]

Deberíamos ver algo parecido a lo siguiente:

7. En la esquina superior izquierda de la Diseñador de tablas , seleccione Actualizar o presione Mayús +


Alt + U .
8. En el cuadro de diálogo Vista previa de actualizaciones de base de datos, seleccione Actualizar base
de datos .
La tabla Customers se crea en el archivo de base de datos local.
Creación de la tabla Orders
1. Agregue otra tabla y, después, agregue una fila para cada entrada de la tabla siguiente:

N O M B RE DE L A C O L UM N A T IP O DE DATO S P ERM IT IR VA LO RES N UL L

OrderID int False (desactivada)

CustomerID nchar(5) False (desactivada)

OrderDate datetime True (seleccionada)

OrderQuantity int True (seleccionada)

2. Establezca OrderID como clave principal y, a continuación, elimine la fila predeterminada.


3. Asigne un nombre a la tabla Orders actualizando la primera línea del panel de script para que coincida
con el ejemplo siguiente:

CREATE TABLE [dbo].[Orders]

4. En la esquina superior izquierda de la Diseñador de tablas , seleccione Actualizar o presione +


Mayús Alt + U .
5. En el cuadro de diálogo Vista previa de actualizaciones de base de datos, seleccione Actualizar base
de datos .
La tabla Orders se crea en el archivo de base de datos local. Si expande el nodo Tablas en Explorador de
servidores, verá las dos tablas:
Si no lo ve, presione el botón Actualizar barra de herramientas.
Creación de una clave externa
1. En el panel de contexto del lado derecho de la cuadrícula Diseñador de tablas para la tabla Orders, haga
clic con el botón derecho en Claves externas y seleccione Agregar nueva clave externa.

2. En el cuadro de texto que aparece, reemplace el texto ToTable por Customers .


3. En el panel T-SQL, actualice la última línea para que coincida con el ejemplo siguiente:
CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])

4. En la esquina superior izquierda de la Diseñador de tablas , seleccione Actualizar + (Mayús Alt + U ).


5. En el cuadro de diálogo Vista previa de actualizaciones de base de datos, seleccione Actualizar base
de datos .
Se crea la clave externa.

Rellenar las tablas con datos


1. En Explorador de ser vidores o SQL Ser ver Explorador de objetos , expanda el nodo de la base de
datos de ejemplo.
2. Abra el menú contextual del nodo Tablas, seleccione Actualizar y expanda el nodo Tablas.
3. Abra el menú contextual de la tabla Customers y, a continuación, seleccione Ver datos.
4. Agregue los datos que desee para algunos clientes.
Puede especificar los cinco caracteres que desee como identificadores de cliente, pero elija al menos uno
que pueda recordar para usarlo posteriormente en este procedimiento.
5. Abra el menú contextual de la tabla Orders y, a continuación, seleccione Mostrar datos de tabla.
6. Agregue datos para algunos pedidos. A medida que escribe cada fila, se guarda en la base de datos.

IMPORTANT
Asegúrese de que todos los identificadores de pedido y las cantidades de pedidos son enteros y que cada
identificador de cliente coincide con un valor especificado en la columna CustomerID de la tabla Customers.

¡Enhorabuena! Ahora sabe cómo crear tablas, vincularlas con una clave externa y agregar datos.

Vea también
Obtener acceso a los datos en Visual Studio

También podría gustarte