2012-01-17 4 views
8

Когда я пытаюсь построить проект в asp.net mvc3. 27 ошибки появляются, говоря о том, что классы, связанные с MVC не существуют:Ошибка Не удалось найти имя или имя пространства имен 'Controller' (вам не хватает директивы using или ссылки на сборку?)

Вот пример одного:

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 

UPDATE

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(); 
     } 
    } 
} 

Ошибки:

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

, пожалуйста, убедитесь, что вы включили System.Web.MVC и System.Web.Mvc.Controller или не случайно удалили предложение использования для пространства имен MVC – Devjosh

+0

Я сделал..и не распознает контроллер –

+0

, в этом случае, пожалуйста, посмотрите эту ссылку, если это помогает http://stackoverflow.com/questions/6238295/the-type-or-namespace-name-servicecontroller-could-not-be-found @dmitry – Devjosh

ответ

4

Удалить using System.Web.Mvc.Controller; , С помощью пункт используется для определения пространства имен, а не классы:

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(); 
     } 
    } 
} 

Также убедитесь, что у вас есть System.Web.Mvc узел, на который ссылается в проекте.

Еще одна вещь, которая должна быть осторожна с вашим пространством имен. Я вижу, что вы используете namespace Controllers вместо namespace AppName.Controllers. Убедитесь, что у вас нет namespace Controller (без s), определенного где-то в вашем проекте, который может конфликтовать с классом Controller, который вы пытаетесь использовать здесь.

+0

Чтобы сообщить вам, правда, я не могу найти ссылку System.web.mvc, когда я пытаюсь добавить ссылку –

+1

@ Дмитрий Маковецкий, у вас установлен ASP.NET MVC 3? Также убедитесь, что вы настроили таргетинг на весь .NET 4.0, а не на клиентский профиль .NET 4.0. –

17

Вам нужно будет добавить System.Web.Mvc к вашим проектам.

  1. правой кнопкой мыши на References
  2. Нажмите "Add Reference ..."
  3. Сборки > Framework
  4. поиска сборок (Ctrl +E) для System.Web.Mvc (вы будете вероятно, больше: версия 2/3/4)
+0

Это работает для меня после того, как я удалил старую ссылку System.Web.Mvc и перестроил решение и добавлю его снова через вышеупомянутый процесс. – Jamil

7

Сегодня у меня такая же ошибка. У меня была установлена ​​MVC версия 3, и проект дал ошибку, раньше работал без ошибок. Что я сегодня сделал, я автоматически перешел на обновление Windows. В этом обновлении обновление MVC версии 3 было загружено и установлено автоматически. Таким образом, ссылка MVC версии 3, добавленная ранее в моем проекте, больше недействительна после установки обновления Windows. Итак, я удалил эту ссылку и добавил эту ссылку. Это исправило мою ошибку. :)

1

Похоже у вас есть тестовый проект в растворе. Возможны два способа устранения этих ошибок:

1) Исключить проект модульного тестирования из решения.

2) Вам просто нужно добавить ссылку на проект MVC в тестовый проект. Перейти к проекту тестирования модуля> Щелкните правой кнопкой мыши по ссылке> Добавить ссылку> Щелкните вкладку «Проекты»> Добавить ссылку на проект

Здесь вы идете !!!

Смежные вопросы

 Смежные вопросы