Introducción a proyectos y soluciones
En este tutorial, explorará lo que significa crear una solución de y un proyecto de en Visual Studio. Una solución es un contenedor para organizar uno o varios proyectos de código relacionados, como un proyecto de biblioteca de clases y un proyecto de prueba correspondiente. Cree una referencia de un proyecto a otro en una solución. En este tutorial también se describen las propiedades de un proyecto y algunos de los archivos que puede contener.
Como ejercicio para comprender el concepto de un proyecto, se crea una solución y un proyecto desde cero. Normalmente, usaría plantillas de proyecto de Visual Studio para crear nuevos proyectos.
En este tutorial, aprenderá a:
- Agregar un elemento al proyecto
- Adición de un segundo proyecto
- Agregar una referencia de proyecto
- Adición de código de prueba
- Ver propiedades del proyecto
Prerrequisitos
- Si no tiene Visual Studio 2019, vaya a la página Descargas de Visual Studio para instalarlo de forma gratuita.
- Si no tiene Visual Studio, vaya a la página Descargas de Visual Studio para instalarlo de forma gratuita.
Soluciones y proyectos
En Visual Studio, una solución no es una respuesta. Una solución es simplemente un contenedor que Visual Studio usa para organizar uno o varios proyectos relacionados. Al abrir una solución, Visual Studio carga automáticamente todos los proyectos que contiene la solución.
Nota
El desarrollo de aplicaciones en Visual Studio no requiere soluciones ni proyectos. Solo puede abrir una carpeta que contenga código y empezar a codificar, compilar y depurar. Por ejemplo, un repositorio de de GitHub clonado podría no contener proyectos y soluciones de Visual Studio. Para obtener más información, consulte Desarrollo de código en Visual Studio sin proyectos ni soluciones.
Creación de una solución
Inicie la exploración mediante la creación de una solución vacía. Después de conocer Visual Studio, probablemente no creará soluciones vacías a menudo. Al crear un nuevo proyecto, Visual Studio crea automáticamente una solución para el proyecto a menos que ya esté abierta una solución.
Abra Visual Studio.
En la ventana de inicio, seleccione Crear un nuevo proyecto.
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.
Sugerencia
Si tiene varias cargas de trabajo instaladas, es posible que la plantilla Solución en blanco no aparezca en la parte superior de la lista de resultados de búsqueda. Pruebe a desplazarse hasta la sección Otros resultados basados en su búsqueda de la lista. Debería aparecer allí.
Asigne un nombre a la solución QuickSolutiony, a continuación, 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.
Abra Visual Studio y, en la ventana de inicio, seleccione Crear un nuevo proyecto.
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.
Sugerencia
Si tiene varias cargas de trabajo instaladas, es posible que la plantilla Solución en blanco no aparezca en la parte superior de la lista de resultados de búsqueda. Pruebe a desplazarse por Otros resultados basados en su búsqueda para encontrar la plantilla.
En la página Configurar el nuevo proyecto, asigne a la solución el nombre QuickSolutiony, a continuación, 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 agregue el primer proyecto a la solución. Comience con un proyecto vacío y agregue los elementos que necesita.
En Explorador de Soluciones, haga clic con el botón derecho en Solución "QuickSolution". En el menú contextual, seleccione Agregar>Nuevo proyecto.
Se abre un cuadro de diálogo que indica Agregar un nuevo proyecto.
Escriba el texto vacío en el cuadro de búsqueda de la parte superior y luego seleccione C# en Lenguaje.
Seleccione la plantilla Proyecto vacío (.NET Framework) y luego Siguiente.
Asigne al proyecto el nombre QuickDatey seleccione Crear.
Un proyecto denominado QuickDate aparece debajo de la solución en Explorador de soluciones. Actualmente contiene un único archivo denominado App.config.
Nota
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 cargas de trabajo para instalar solo los componentes que necesita para el tipo de desarrollo que haga.
Una manera sencilla de instalar una nueva carga de trabajo al crear un nuevo proyecto es seleccionar el enlace Instalar más herramientas y características debajo del texto que dice ¿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.
En Explorador de Soluciones, haga clic con el botón derecho en Solución "QuickSolution". En el menú contextual, seleccione Agregar>Nuevo proyecto.
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.
Elija la plantilla Proyecto vacío (.NET Framework) de C# y, luego, seleccione Siguiente.
Nota
Visual Studio usa la instalación basada en cargas de trabajo para instalar solo los componentes que necesita para el tipo de desarrollo que haga. Si no ve la plantilla Proyecto vacío (.NET Framework), instale la carga de trabajo Desarrollo de escritorio de .NET de Visual Studio.
Una manera sencilla de instalar una nueva tarea al crear un proyecto es seleccionar el enlace Instalar más herramientas y características en el texto que dice ¿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.
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. El proyecto contiene un nodo References y un único archivo denominado App.config.
Agregar un elemento al proyecto
Agregue un archivo de código al proyecto vacío.
En Explorador de soluciones, haga clic con el botón derecho en el proyecto de QuickDate. En el menú contextual, seleccione Agregar>Nuevo elemento.
Se abre el cuadro de diálogo Agregar nuevo elemento . Seleccione Mostrar todas las plantillas si se abre la ventana de diálogo en modo compacto.
Expanda Elementos de Visual C# y seleccione Código. En el panel central, seleccione la plantilla de elemento de clase . En Nombre, escriba Calendar y seleccione Agregar.
Visual Studio agrega un archivo denominado Calendar.cs al proyecto. El
.cs
al final es la extensión de archivo para los archivos de código de C#. El archivo Calendar.cs aparece en la jerarquía de proyectos visuales del Explorador de soluciones y se abre en el editor.Reemplace el contenido del archivo Calendar.cs por el código siguiente:
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 comprender todo lo que hace el código. Ejecute la aplicación presionando Ctrl+F5. La aplicación imprime la fecha actual en la ventana de la consola, o salida estándar. A continuación, cierre la ventana de la consola.
Adición de un segundo proyecto
Las soluciones suelen contener más de un proyecto y estos proyectos suelen hacer referencia entre sí. Algunos proyectos de una solución pueden ser bibliotecas de clases, algunas podrían ser aplicaciones ejecutables y algunas podrían ser proyectos de prueba unitaria o sitios web.
Para agregar un proyecto de prueba unitaria a la solución, comience desde una plantilla de proyecto para que no tenga que agregar otro archivo de código al proyecto.
En Explorador de Soluciones, haga clic con el botón derecho en Solución "QuickSolution". En el menú contextual, seleccione Agregar>Nuevo proyecto.
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.
Seleccione la plantilla de proyecto de prueba unitaria para .NET Core y, a continuación, seleccione Siguiente.
Nota
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. Varios pasos en la creación del proyecto cambiaron en esta actualización.
Asigne al proyecto el nombre QuickTesty, a continuación, seleccione Siguiente.
Elija la plataforma de destino recomendada (.NET Core 3.1) o .NET 5 y, después, elija Crear.
Se agrega un segundo proyecto a explorador de solucionesy se abre un archivo denominado UnitTest1.cs en el editor.
En Explorador de Soluciones, haga clic con el botón derecho en Solución "QuickSolution". En el menú contextual, seleccione Agregar>Nuevo proyecto.
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.
Elija la plantilla Proyecto de prueba unitaria (.NET Framework) de C# y seleccione Siguiente.
En la página Configurar el nuevo proyecto, asigne al proyecto el nombre QuickTesty, a continuación, seleccione Crear.
Visual Studio agrega el proyecto QuickTest a Explorador de soluciones, y el archivo UnitTest1.cs se abre en el editor.
Agregar una referencia de proyecto
Para usar el nuevo proyecto de prueba unitaria para probar el método en el proyecto QuickDate, debe agregar una referencia a QuickDate en el proyecto QuickTest. Al agregar la referencia se crea una dependencia de compilación entre los dos proyectos. Al compilar la solución, QuickDate se compila antes que QuickTest.
Haga clic derecho en el nodo Dependencias en el proyecto QuickTest. En el menú contextual, seleccione Agregar referencia de proyecto.
Se abre el cuadro de diálogo Administrador de referencias.
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.
En Explorador de soluciones, haga clic con el botón derecho en el nodo de Referencias del proyecto QuickTest. En el menú contextual, seleccione Agregar referencia.
En el cuadro de diálogo Administrador de referencias, seleccione Proyectos. En el panel central, active la casilla situada junto a QuickDate y luego seleccione Aceptar.
Aparece una referencia al proyecto de QuickDate bajo el proyecto de QuickTest en el Explorador de Soluciones.
Adición de código de prueba
Ahora agregue código de prueba al archivo de código de prueba de C#. Reemplace el contenido de UnitTest1.cs por el código siguiente:
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.
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 debe tener este aspecto:
Ejecución de la prueba unitaria
Para comprobar el funcionamiento de la prueba unitaria, en la barra de menús, elija Prueba>Ejecutar todas las pruebas. Se abre la ventana Explorador de pruebas, donde debería ver que la prueba TestGetCurrentDate se supera.
Sugerencia
También puede abrir el Explorador de pruebas eligiendo Probar>Explorador de pruebas desde la barra de menús.
Propiedades del proyecto
La línea del archivo Calendar.cs que contiene el atributo InternalsVisibleToAttribute hace referencia al nombre del ensamblado o al nombre de archivo del proyecto de QuickTest. Es posible que el nombre del ensamblado no siempre sea el mismo que el nombre del proyecto. Para buscar el nombre de ensamblado de un proyecto, use las propiedades del proyecto. Las páginas de propiedades contienen varias opciones de configuración para el proyecto.
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 Application. El nombre del ensamblado del proyecto QuickTest es realmente QuickTest.
Si lo desea, puede cambiar el nombre aquí. Al compilar el proyecto de prueba, el nombre del archivo binario resultante cambia de QuickTest.dll a <NewName>.dll.
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 diferentes tipos de proyectos.