2012-01-17 81 views
8

Cuando intento crear el proyecto en asp.net mvc3. 27 errores que aparece, diciendo que las clases relacionadas con mvc no estan disponibles:Error No se encontró el tipo o el nombre del espacio de nombres 'Controller' (¿falta una directiva using o una referencia de ensamblado?)

Aquí es un ejemplo de uno:

Error 1 The type or namespace name 'Controller' could not be found (are you missing a using directive or an assembly reference?) C:\Documents and Settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication1\MvcApplication1\Controllers\HomeController.cs 10 35 MvcApplication1 

ACTUALIZACIÓN

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 

namespace MvcApplication2.Controllers 
{ 
    public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      ViewBag.Message = "Welcome to ASP.NET MVC!"; 

      return View(); 
     } 

     public ActionResult About() 
     { 
      return View(); 
     } 
    } 
} 

Errores:

Error 1 The type or namespace name 'Controller' could not be found (are you missing a using directive or an assembly reference?) c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 9 35 MvcApplication2 

Error 2 The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an assembly reference?) c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 11 16 MvcApplication2 


Error 3 The name 'ViewBag' does not exist in the current context c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 13 13 MvcApplication2 


Error 4 The name 'View' does not exist in the current context c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 15 20 MvcApplication2 


Error 5 The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an assembly reference?) c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 18 16 MvcApplication2 


Error 6 The name 'View' does not exist in the current context c:\documents and settings\hhhhhhhh\my documents\visual studio 2010\Projects\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 20 20 MvcApplication2 
+0

asegúrese de haber incluido System.Web.MVC y System.Web.Mvc.Controller o no ha eliminado accidentalmente la cláusula de uso del espacio de nombres MVC – Devjosh

+0

. Lo hice ... no reconoce el controlador –

+0

en ese caso, consulte este enlace si ayuda http://stackoverflow.com/questions/6238295/the-type-or-namespace-name-servicecontroller-could-not-be-found @dmitry – Devjosh

Respuesta

4

Retire using System.Web.Mvc.Controller; . La cláusula usando se utiliza para definir los espacios de nombres, no clases:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 

namespace Controllers 
{ 
    public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     public ActionResult About() 
     { 
      return View(); 
     } 
    } 
} 

También asegúrese de que usted tiene el conjunto System.Web.Mvc referencia en su proyecto.

Otra cosa a tener en cuenta es su espacio de nombre. Veo que está usando namespace Controllers en lugar de namespace AppName.Controllers. Asegúrese de que no tiene un namespace Controller (sin un s) definido en algún lugar de su proyecto que pueda entrar en conflicto con la clase Controller que está tratando de usar aquí.

+0

Para decirte el la verdad, no puedo encontrar la referencia System.web.mvc cuando intento agregar una referencia –

+1

@ DmitryMakovetskiyd, ¿tiene ASP.NET MVC 3 instalado? También asegúrese de que está apuntando a .NET 4.0 completo y no al .NET 4.0 Client Profile. –

17

Deberá agregar System.Web.Mvc a las referencias de su proyecto.

  1. clic derecho en referencias
  2. Haga clic "Agregar referencia ..."
  3. Asambleas > marco
  4. Asambleas de búsqueda (Ctrl +E) paraSystem.Web.Mvc (se quiere probablemente tenga más: versión 2/3/4)
+0

Esto funciona para mí después de eliminar la referencia anterior de System.Web.Mvc y reconstruir la solución y agregarla de nuevo a través del proceso mencionado anteriormente. – Jamil

7

Hoy tengo el mismo tipo de error. Tenía MVC versión 3 instalada y el proyecto había dado error, se estaba ejecutando sin error previamente. Lo que he hecho hoy es que me he ido automáticamente a la actualización de Windows. En esa actualización MVC versión 3 se descargó e instaló automáticamente. Por lo tanto, la referencia de MVC versión 3, que se agregó antes en mi proyecto, ya no era válida después de instalar Windows Update. Por lo tanto, eliminé esa referencia y agregué la misma referencia. Eso solucionó mi error. :)

-1

Va a conseguir esto en Add Reference-> Extentions -> System.Web.Mvc

1

Parece que tiene proyecto de prueba en la solución. Hay dos maneras de resolver estos errores

1) Excluir el proyecto de prueba unitaria de la solución.

2) Solo necesita agregar la referencia de su proyecto MVC al proyecto de prueba. Ir a la unidad Proyecto de prueba> Haz clic derecho en Referencias> haz clic en Agregar referencia> Haz clic en la pestaña Proyectos> Agregar referencia de proyecto

Aquí tienes !!!

Cuestiones relacionadas