Compartir a través de


Crear un proyecto de ASP.NET MVC

de Microsoft

Descargar PDF

Este es el paso 1 de un tutorial de la aplicación "NerdDinner" gratuito que le guía por el proceso de creación de una aplicación web pequeña, pero completa, con MVC 1 de ASP.NET.

En el paso 1 se muestra cómo colocar la estructura básica de la aplicación NerdDinner.

Si se usa MVC 3 de ASP.NET, es aconsejable seguir los tutoriales Introducción a MVC 3 o MVC Music Store.

Paso 1 de NerdDinner: Archivo->Nuevo proyecto

Para comenzar la aplicación NerdDinner, selecciona el elemento de menú Archivo->Nuevo proyecto en Visual Studio 2008 o en Visual Web Developer 2008 Express, que es gratuito.

Se abrirá el cuadro de diálogo "Nuevo proyecto". Para crear una aplicación MVC de ASP.NET, se selecciona el nodo "Web" en el lado izquierdo del cuadro de diálogo y, después, se elige la plantilla de proyecto "ASP.NET MVC Web Application" en el derecho:

Screenshot of the New Project dialog. The Web node on the left hand side of the dialog is selected. A S P dot NET M V C Web Application is selected.

Importante: Asegúrese de que ha descargado e instalado MVC de ASP.NET; si no lo ha hecho, no se mostrará en el cuadro de diálogo Nuevo proyecto. Puede usar la versión 2 del Instalador de plataforma web de Microsoft si aún no lo ha instalado (MVC de ASP.NET está disponible en la sección "Plataforma web->Marcos y entornos de ejecución").

Al proyecto que se va a crear se le asignará el nombre "NerdDinner" y, después, se hará clic en el botón "Aceptar" para crearlo.

Al hacer clic en "Aceptar", Visual Studio abrirá un cuadro de diálogo adicional en el que se solicita la creación opcional de un proyecto de prueba unitaria para la nueva aplicación. Este proyecto permite crear pruebas automatizadas que comprueben la funcionalidad y el comportamiento de la aplicación (se explicar cómo se hace en un apartado posterior del tutorial).

Screenshot of the Create Unit Test Project dialog. Yes create a unit test project is selected.

La lista desplegable "Marco de pruebas" del cuadro de diálogo anterior se rellena con todas las plantillas del proyecto de prueba unitaria de MVC de ASP.NET disponibles instaladas en la máquina. Se pueden descargar versiones para NUnit, MBUnit y XUnit. También se admite el marco integrado de pruebas unitarias de Visual Studio.

Nota: El marco de pruebas unitarias de Visual Studio solo está disponible con Visual Studio 2008 Professional y versiones posteriores. Si usa VS 2008 Standard Edition o Visual Web Developer 2008 Express, deberá descargar e instalar las extensiones NUnit, MBUnit o XUnit para ASP.NET MVC para que se muestre este cuadro de diálogo. El cuadro de diálogo no se mostrará si no hay ningún marco de pruebas instalado.

Se usará el nombre predeterminado "NerdDinner.Tests" para el proyecto de prueba que se cree y se usará la opción de marco "Prueba unitaria de Visual Studio". Al hacer clic en el botón "Aceptar", Visual Studio creará una solución con dos proyectos: uno la nuestra aplicación web y otro para las pruebas unitarias:

Screenshot of The Nerd Dinner dialog. In the Solution explorer pane to the right, Nerd Dinner dot Tests is selected.

Examen de la estructura de directorios de NerdDinner

Cuando se crear una aplicación MVC de ASP.NET con Visual Studio, agrega automáticamente varios archivos y directorios al proyecto:

Screenshot of the Nerd Dinner navigation tree. Nerd Dinner is selected and expanded to show menu items.

De forma predeterminada, los proyectos de MVC de ASP.NET tienen seis directorios de nivel superior:

Directorio Propósito
Controllers/ Dónde se colocan las clases de Controller que controlan las solicitudes de direcciones URL
/Models Dónde se colocan las clases que representan y manipulan datos
/Views Dónde se colocan los archivos de plantilla de IU responsables de la representación de la salida
/Scripts Dónde se colocan los scripts y archivos de la biblioteca de JavaScript (.js)
/Content Dónde se colocan los archivos CSS y de imagen, y otro contenido que no es dinámico o no pertenece a JavaScript
/App_Data Dónde se almacenan los archivos de datos que se quieren leer o escribir.

MVC de ASP.NET no requiere esta estructura. De hecho, lo habitual es que los desarrolladores que trabajan en aplicaciones de gran tamaño dividan la aplicación en varios proyectos para que sea más manejable (por ejemplo: las clases del modelo de datos suelen ir en un proyecto de biblioteca de clases distinto de la aplicación web). Sin embargo, la estructura del proyecto predeterminada proporciona una buena convención de directorio predeterminada que se puede usar para que la aplicación no tenga problemas.

Al expandir el directorio /Controllers, veremos que Visual Studio ha agregado dos clases de controlador (HomeController y AccountController) de forma predeterminada al proyecto:

Screenshot of the Nerd Dinner navigation tree. Controllers is highlighted and expanded.

Al expandir el directorio /Views, se pueden ver tres subdirectorios (/Home, /Account y /Shared), así como varios archivos de plantilla dentro de ellos, que también se han agregado al proyecto de forma predeterminada:

Screenshot of the Nerd Dinner navigation tree. The views folder is highlighted and expanded.

Al expandir los directorios /Content y /Scripts, verá un archivo Site.css que se usa para aplicar estilo a todos los HTML del sitio, así como a las bibliotecas de JavaScript que pueden habilitar la compatibilidad con jQuery y AJAX de ASP.NET en la aplicación:

Screenshot of the Solution Explorer Nerd Dinner navigation tree. Nerd Dinner is highlighted and expanded.

Al expandir el proyecto NerdDinner.Tests, aparecerán dos clases que contienen pruebas unitarias para nuestras clases de controlador:

Screenshot of the Solution Explorer navigation tree. Controllers is selected and expanded.

Estos archivos predeterminados que agrega Visual Studio nos proporcionan una estructura básica para una aplicación en funcionamiento, con página principal, página de acerca de, páginas de inicio de sesión/cierre de sesión/registro de la cuenta y una página de errores no controlados (todo conectado y funcionando desde el primer momento).

Ejecución de la aplicación NerdDinner

Para ejecutar el proyecto, elija los elementos de menú Depurar->Iniciar depuración o Depurar->Iniciar sin depurar:

Screenshot of Microsoft Visual Studio. The Debug menu items are shown. Start debugging is highlighted.

Así se iniciará el servidor web integrado de ASP.NET que se incluye en Visual Studio y se ejecutará la aplicación:

Screenshot of the A S P dot NET Web server page.

A continuación se muestra la página principal del nuevo proyecto (dirección URL: "/") cuando se ejecuta:

Screenshot of the My M V C Application Welcome page.

Al hacer clic en la pestaña "Acerca de" se muestra una página acerca de (dirección URL: "/Home/About"):

Screenshot of the My M V C Application About page.

Al hacer clic en el vínculo "Iniciar sesión" de la parte superior derecha, aparece una página de inicio de sesión (dirección URL: "/Account/LogOn")

Screenshot of the My M V C Application Log on page.

Si no tiene una cuenta de inicio de sesión, puede hacer clic en el vínculo de registro (dirección URL: "/Account/Register") para crearla:

Screenshot of the My M V C Application page. Create a New Account is shown.

El código para implementar la funcionalidad de página principal anterior, página de acerca de y cierre de sesión o registro se agregó de forma predeterminada al crear el nuevo proyecto. Se usará como punto de partida de la aplicación.

Prueba de la aplicación NerdDinner

Si se usa la versión Professional Edition de Visual Studio 2008, o cualquiera posterior, se puede utilizar la compatibilidad integrada con el IDE de pruebas unitarias en Visual Studio para probar el proyecto:

Screenshot of the Test menu items. Run is selected and expanded. Tests in Current Context is highlighted.

Al elegir una de las opciones anteriores, se abrirá el panel "Resultados de pruebas" en el IDE, donde se puede ver si se han superado, o no, las 27 pruebas unitarias incluidas en el nuevo proyecto que abarcan la funcionalidad integrada:

Screenshot of the Test Results pane in the I D E with the pass slash fail status on the 27 unit tests shown.

Más adelante se ofrecerá más información sobre las pruebas automatizadas y se incorporarán pruebas unitarias adicionales que cubran la funcionalidad de la aplicación que se implementa.

siguiente paso

Ya tenemos una estructura de aplicaciones básica. Ahora vamos a crear una base de datos para almacenar los datos de la aplicación.