2014-04-22 2 views
0

Visual Studio에서 새 ASP.NET MVC 5 프로젝트를 설정 중입니다. 내 프로젝트는 MyProject입니다. 나는 MyModel라는 모델을 가지고, 그리고 컨트롤러는 MyController 전화 :ASP.NET MVC : 모델 참조

\\ MyModel.cs 

namespace MyProject.Models 
{ 
    public class MyModel 
    { 
     public int Width { get; set; } 
     public int Height { get; set; } 
    } 
} 

\\ MyController.cs 

using MyProject.Models; 

namespace MyProject.Controllers 
{ 
    public class MyController : Controller 
    { 
     public ActionResult Index() 
     { 
      MyModel my_model; 
      return View(my_model); 
     } 
    } 
} 

그러나 MyController.cs에, 나는 오류 메시지 : The type or namespace 'MyModel' could not be found.는 왜입니까? 나는 이미 using MyProject.Models;을 포함 했으므로 충분하지 않아야합니까?

감사합니다.

+0

VS를 닫고 다시 열고 프로젝트를 재구성하고 어떤 일이 발생하는지 확인하십시오. 또한 모델이 다른 asssembly에있는 경우 관련 "참조"를 추가해야합니다 – Shyju

+0

재시작/재구성이 도움이되지 않습니다. 그러나 나는 지금 다른 어떤 것을 알아 차렸다. 기본'AccountViewModels.cs' 파일에'MyModel' 객체를 만들려고 시도하면'MyModel'을 찾을 수 없다고합니다. 그러나'MyModel.cs' 파일에'LoginViewModel' 객체 (기본 'AccountViewModels.cs' 파일에 있음)를 만들려고한다면이 방법이 좋습니다. 이제 MyModel을 처음 추가했을 때 ASP.Net 웹 사이트에 특수 파일 유형 (클래스)을 추가하려고 시도하는 중 오류가 발생했습니다. 일반적으로 사이트에서이 유형의 항목을 사용하려면 App_Code 폴더에 배치해야합니다. '. 이게 뭐야? – Karnivaurus

답변

0

MyProject.Models; 참으로 충분해야합니다. 솔루션을 재구성 (빌드하지 않음)하고 Visual Studio를 다시 시작해 보셨습니까? VS2013은 너무 많은 참조를 뒤범벅하고있는 경우 수시로 다시 시작해야합니다.

0

보기에서 오류가 발생할 가능성이 있습니까? 보기 폴더 아래에있는 web.config 파일 내의 해당 섹션에 네임 스페이스를 추가하십시오.

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Web.Routing" /> 

     <add namespace="MyProject.Models" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor>