2009-08-31 1 views
2

기존 ASP.NET Web Forms 프로젝트에 ASP.NET MVC 페이지를 추가하고 있습니다.ASP.NET MVC 페이지를 Web Forms 프로젝트에 추가 할 때 "추가 ->보기"메뉴 항목을 어떻게 얻을 수 있습니까?

내가 만든 MVC 프로젝트에서 일부 모델, 뷰 및 컨트롤러를 포팅 할 수 있었고 그 중대한 작업을하고 있습니다.

그러나 새로운 "Strongly Typed"뷰를 프로젝트에 추가하고 싶지만 Web Forms 프로젝트에서 새 뷰 마법사를 얻지 못합니다.

Visual Studio를 사용자 정의 할 때 약간의 초보자입니다. 그래서 확실한 것이 빠져있을 수 있습니다.

답변

4

프로젝트 파일로 수행 할 수있는 해킹이 있습니다. WebForms 프로젝트 파일 (일반 파일로여십시오)에서 ProjectTypesGuid 노드 아래에 다음 guid를 추가하십시오.

{603c0e0b-db56-11dc-be95-000d561079b0};

그리고 ...

는 기본적으로이 절차의 반대의 ... System.Web.Routing, 추상화 및 MVC에 대한 참조를 추가하고 당신이 가서 잘되어야합니다

http://weblogs.asp.net/leftslipper/archive/2009/01/20/opening-an-asp-net-mvc-project-without-having-asp-net-mvc-installed-the-project-type-is-not-supported-by-this-installation.aspx

0

새보기 마법사는 ASP.Net MVC 스캐 폴딩의 일부입니다. 이 기능을 사용하려면 ASP.Net MVC 프로젝트 템플릿에서 프로젝트를 만들어야합니다.

웹 응용 프로그램이나 웹 사이트 프로젝트 템플릿으로 만든 이전 ASP.Net 프로젝트에 추가 했으므로 수동으로 가져와야합니다.

0

또한 컨트롤러 메소드가 리턴 무효의 결과 대신 그냥 존 포스터와 같은

//Right click and the context menu will NOT show "Add View" 
    public void Details(int id) 
    { 
     Dinner dinner = dinnerRepository.GetDinner(id); 
     if (dinner == null) 
     return View("NotFound"); 
     else 
     return View("Details", dinner); 
    } 

    //Right click and the context menu will show "Add View" 
    public ActionResult Details(int id) 
    { 
     Dinner dinner = dinnerRepository.GetDinner(id); 
     if (dinner == null) 
     return View("NotFound"); 
     else 
     return View("Details", dinner); 
    } 
1

가 수동으로 .csproj 파일을 편집해야했다 ActionResult가있을 때 이런 일이 보았다. 그러나 다른 GUID 및 일부 추가 요소 (적어도 Visual Studio 2012의 경우)가 필요합니다. 그렇지 않으면 "매개 변수가 null 일 수 없습니다. 매개 변수 이름 path1"이라는 Add-> View 뒤에 오류 대화 상자가 나타납니다. 여기에 내가했던 일이야 :

  1. 를 마우스 오른쪽 단추로 클릭하고 프로젝트 -> "언로드 프로젝트"
  2. 를 마우스 오른쪽 단추로 클릭하고 프로젝트 -> "편집 .csproj"
  3. 추가 {E3E379DF-F4C6-4180-9B81-6769533ABE47 }; 프로젝트 \ PropertyGroup \ ProjectTypeGuids.내 보이는 같은 :

    < ProjectTypeGuids> {E3E379DF - F4C6-4180-9B81-6769533ABE47} {349c5851-65df-11da-9384-00065b846f21} {fae04ec0-301f-11D3-bf4b-00c04f79efbc} </ProjectTypeGuids>

  4. 확인 다음과 같은 요소가 프로젝트 \ PropertyGroup에 존재 :

    <MvcBuildViews> 거짓 </MvcBuildViews >

    < FileUpgradeFlags,210 </FileUpgradeFlags >

    < UpgradeBackupLocation> </UpgradeBackupLocation>

    < TargetFrameworkProfile />

관련 문제