Información sobre proyectos y soluciones con Visual Basic
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 que se usa para organizar uno o más proyectos de código relacionados, por ejemplo, un proyecto de biblioteca de clases y un proyecto de prueba correspondiente. Echaremos un vistazo a las propiedades de un proyecto y a algunos de los archivos que puede contener. También se crea una referencia de un proyecto a otro.
Sugerencia
Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.
Se crean una solución y un proyecto desde cero como ejercicio educativo para comprender el concepto de proyecto. Cuando use Visual Studio, es probable que emplee alguna de las distintas plantillas de proyecto que Visual Studio ofrece al crear un nuevo proyecto.
Nota
No hacen falta soluciones ni proyectos para desarrollar aplicaciones en Visual Studio. Basta con abrir una carpeta que contenga código para empezar a codificar, compilar y depurar. Por ejemplo, si clona un repositorio de GitHub, podría no contener soluciones y proyectos de Visual Studio. Para obtener más información, vea Desarrollo de código en Visual Studio sin proyectos o soluciones.
Soluciones y proyectos
A pesar de su nombre, una solución no es una "respuesta", sino simplemente contenedores que Visual Studio usa para organizar uno o más proyectos relacionados. Cuando se abre una solución en Visual Studio, esta carga automáticamente todos los proyectos que la solución contiene.
Crear una solución
Comenzaremos nuestro 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 frecuencia. Al crear un proyecto, Visual Studio crea automáticamente una solución para hospedar ese proyecto si es que no hay ya una solución abierta.
Abra Visual Studio.
En la ventana de inicio, elija Crear un proyecto nuevo.
En la página Crear un proyecto nuevo, escriba solución en blanco en el cuadro de búsqueda, seleccione la plantilla Solución en blanco y elija Siguiente.
Asígnele a la solución el nombre QuickSolution y elija 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.
En la ventana de inicio, elija Crear un proyecto nuevo.
En la página Crear un proyecto nuevo, escriba solución en blanco en el cuadro de búsqueda, seleccione la plantilla Solución en blanco y elija Siguiente.
Asígnele a la solución el nombre QuickSolution y elija 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.
Agregar un proyecto
Ahora, agreguemos nuestro primer proyecto a la solución. Comenzaremos con un proyecto vacío y le agregaremos los elementos que necesitamos.
En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution" en el Explorador de soluciones, seleccione Agregar>Nuevo proyecto.
Se abre un cuadro de diálogo de nombre Agregar un nuevo proyecto.
Escriba el texto vacío en el cuadro de búsqueda de la parte superior y luego seleccione Visual Basic en Lenguaje.
Seleccione la plantilla Proyecto vacío (.NET Framework) y luego Siguiente.
Asigne el nombre QuickDate al proyecto y luego 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.
Nota
Si no ve la plantilla Proyecto vacío (.NET Framework), tiene que instalar la carga de trabajoDesarrollo 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 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 ¿No encuentra lo que busca? . Una vez que se abra el Instalador de Visual Studio, elija la carga de trabajo de desarrollo de escritorio de .NET y luego haga clic en el botón Modificar.
En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution" en el Explorador de soluciones, seleccione Agregar>Nuevo proyecto.
Se abre un cuadro de diálogo de nombre Agregar un nuevo proyecto.
Escriba el texto vacío en el cuadro de búsqueda de la parte superior y, luego, seleccione Visual Basic en la lista desplegable Todos los lenguajes.
Seleccione la plantilla Proyecto vacío (.NET Framework) y luego Siguiente.
Asigne el nombre QuickDate al proyecto y luego 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.
Nota
Si no ve la plantilla Proyecto vacío (.NET Framework), tiene que instalar la carga de trabajoDesarrollo 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 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 ¿No encuentra lo que busca? . Una vez que se abra el Instalador de Visual Studio, elija la carga de trabajo de desarrollo de escritorio de .NET y luego haga clic en el botón Modificar.
Agregar un elemento al proyecto
Hay un proyecto vacío. Vamos a agregar un archivo de código.
En el menú contextual que aparece al hacer clic con el botón derecho en el proyecto QuickDate del Explorador de soluciones, elija Agregar>Nuevo elemento.
Se abrirá el cuadro de diálogo Agregar nuevo elemento.
Expanda Elementos comunes y elija Código. En el panel central, seleccione la plantilla de elemento Clase. Ponga el nombre Calendar a la clase y luego haga clic en el botón Agregar.
Un archivo denominado Calendar.vb se agrega al proyecto. El fragmento .vb del final es la extensión de archivo de los archivos de código de Visual Basic. El archivo aparece en la jerarquía visual del proyecto en el Explorador de soluciones y su contenido se abre en el editor.
Reemplace el contenido del archivo Calendar.vb por el siguiente código:
Class Calendar Public Shared Function GetCurrentDate() As Date Return DateTime.Now.Date End Function End Class
La clase
Calendar
contiene una sola función,GetCurrentDate
, que devuelve la fecha actual.Abra las propiedades del proyecto haciendo doble clic en Mi proyecto en el Explorador de soluciones. En la pestaña Aplicación, cambie Tipo de aplicación por Biblioteca de clases. Este paso es necesario para compilar el proyecto correctamente.
Compile el proyecto haciendo clic con el botón derecho en QuickDate en el Explorador de soluciones y seleccionando Compilar. Debería aparecer un mensaje de compilación correcta en la ventana Resultados.
Agregar un segundo proyecto
Es común que las soluciones contengan 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.
Vamos a agregar un proyecto de prueba unitaria a la solución. Esta vez se empieza a partir de una plantilla de proyecto, así que no es necesario agregar otro archivo de código al proyecto.
- En el menú contextual que aparece al hacer clic con el botón derecho en Solución "QuickSolution" en el Explorador de soluciones, 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 Visual Basic en Lenguaje.
Seleccione la plantilla de proyecto Proyecto de prueba unitaria (.NET Framework) y luego seleccione Siguiente.
Asigne el nombre QuickTest al proyecto y luego seleccione Crear.
Se agregará un segundo proyecto al Explorador de soluciones, mientras que un archivo denominado UnitTest1.vb se abre en el editor.
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 Visual Basic en la lista desplegable Todos los lenguajes.
Seleccione la plantilla de proyecto Proyecto de prueba unitaria (.NET Framework) y luego seleccione Siguiente.
Asigne el nombre QuickTest al proyecto y luego seleccione Crear.
Se agregará un segundo proyecto al Explorador de soluciones, mientras que un archivo denominado UnitTest1.vb se abre en el editor.
Agregar una referencia de proyecto
Usaremos el nuevo proyecto de prueba unitaria para probar nuestro método en el proyecto QuickDate, por lo que necesitamos agregar una referencia a ese proyecto. La referencia crea una dependencia de compilación entre ambos proyectos, lo que significa que, al compilar la solución, QuickDate se compila antes que QuickTest.
Seleccione el nodo Referencias 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.
En el panel izquierdo, expanda Proyectos y elija Solución. En el panel central, active la casilla junto a QuickDate y, después, seleccione el botón Aceptar.
Se agrega una referencia al proyecto QuickDate.
Seleccione el nodo Referencias 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.
En el panel izquierdo, expanda Proyectos y elija Solución. En el panel central, active la casilla junto a QuickDate y, después, seleccione el botón Aceptar.
Se agrega una referencia al proyecto QuickDate.
Agregar código de prueba
Ahora vamos a agregar código de prueba al archivo de código de Visual Basic. Reemplace el contenido del archivo UnitTest1.vb por el siguiente código.
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Class
Se ve una línea ondulada de color rojo debajo de algunas partes del código. Solucionaremos este error cuando convirtamos el proyecto de prueba en un ensamblado de confianza del proyecto QuickDate.
En el proyecto QuickDate, abra el archivo Calendar.vb, si aún no está abierto, y agregue la siguiente instrucción Imports y el atributo InternalsVisibleToAttribute para resolver el error en el proyecto de prueba.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
El archivo de código debe tener este aspecto:
Ahora vamos a agregar código de prueba al archivo de código de Visual Basic. Reemplace el contenido del archivo UnitTest1.vb por el siguiente código.
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Class
Se ve una línea ondulada de color rojo debajo de algunas partes del código. Solucionaremos este error cuando convirtamos el proyecto de prueba en un ensamblado de confianza del proyecto QuickDate.
En el proyecto QuickDate, abra el archivo Calendar.vb, si aún no está abierto, y agregue la siguiente instrucción Imports y el atributo InternalsVisibleToAttribute para resolver el error en el proyecto de prueba.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
El archivo de código debe tener este aspecto:
Propiedades de proyecto
La línea del archivo Calendar.vb que contiene el atributo InternalsVisibleToAttribute hace referencia al nombre de ensamblado (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, abra las propiedades del proyecto.
En el Explorador de soluciones, seleccione el proyecto QuickTest. En el menú contextual que se abre al hacer clic con el botón derecho, seleccione Propiedades o, simplemente, presione Alt+ENTRAR. (También puede hacer doble clic en Mi proyecto en el Explorador de soluciones).
Las páginas de propiedades del proyecto se abren en la pestaña Aplicación. Las páginas de propiedades contienen varios valores para el proyecto. Fíjese en que el nombre de ensamblado del proyecto QuickTest es, efectivamente, "QuickTest". Si quisiera cambiar el nombre del ensamblado, aquí es donde lo haría. Así, al compilar el proyecto de prueba, el nombre del archivo binario resultante cambiaría de QuickTest.dll a lo que hubiera elegido.
Explore algunas de las otras pestañas de las páginas de propiedades del proyecto, como Compilar y Configuración. Estas pestañas son diferentes para los distintos tipos de proyectos.
La línea del archivo Calendar.vb que contiene el atributo InternalsVisibleToAttribute hace referencia al nombre de ensamblado (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, abra las propiedades del proyecto.
En el Explorador de soluciones, seleccione el proyecto QuickTest. En el menú contextual que se abre al hacer clic con el botón derecho, seleccione Propiedades o, simplemente, presione Alt+ENTRAR. (También puede hacer doble clic en Mi proyecto en el Explorador de soluciones).
Las páginas de propiedades del proyecto se abren en la pestaña Aplicación. Las páginas de propiedades contienen varios valores para el proyecto. Fíjese en que el nombre de ensamblado del proyecto QuickTest es, efectivamente, "QuickTest". Si quisiera cambiar el nombre del ensamblado, aquí es donde lo haría. Así, al compilar el proyecto de prueba, el nombre del archivo binario resultante cambiaría de QuickTest.dll a lo que hubiera elegido.
Explore algunas de las otras pestañas de las páginas de propiedades del proyecto, como Compilar y Configuración. Estas pestañas son diferentes para los distintos tipos de proyectos.
(Opcional) Ejecutar la prueba
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.
Sugerencia
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.
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.
Sugerencia
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.
Pasos siguientes
Si desea seguir explorando Visual Studio, considere la posibilidad de crear una aplicación siguiendo uno de los tutoriales de Visual Basic.