[asp.net-mvc] Visual Studio 2012 또는 Visual Studio 2013에서 이전 MVC 프로젝트를 어떻게 열 수 있습니까?

MVC 3 또는 MVC 4로 업그레이드하지 않으려는 이전 ASP.NET MVC 2 프로젝트가 있습니다. Windows 8, Visual Studio 2012 및 Visual Studio 2013을 실행하는 새 컴퓨터에서 작업하고 있습니다. MVC를 열려고 할 때 VS 2012 또는 VS 2013의 2 프로젝트에서 오류가 발생합니다.

이 프로젝트는 현재 버전의 Visual Studio와 호환되지 않습니다.

그런 다음 솔루션 탐색기에서 프로젝트가 언로드되고 회색으로 표시됩니다. 다른 Visual Studio 사본을 설치하고 싶지 않습니다. 새 버전의 Visual Studio에서 이전 MVC 프로젝트를 어떻게 열 수 있습니까?



답변

Visual Studio 2012 또는 Visual Studio 2013 에서 지원되지 않는 MVC 프로젝트를 여는 것은 실제로 두 단계로 쉽게 수행 할 수 있습니다. 실제로 bytebender의 주석이 나타내는 것처럼 이러한 동일한 단계 MVC 1 프로젝트에 적용되고 작동 해야 합니다. 그러나 나는 테스트하지 않았으므로 실제로 작동한다고 보장 할 수는 없습니다.

아직 수행하지 않았다고 가정하면 1 단계는 MVC 1 , MVC 2 또는 MVC 3 을 다운로드하여 설치 하는 것입니다 (설치를 시작하기 전에 Visual Studio를 닫으십시오).

적절한 MVC 버전을 설치 한 후에도 프로젝트는 VS 2012에서 계속로드되지 않습니다. 이는 ASP.NET MVC 프로젝트가 웹 응용 프로그램 프로젝트 유형 프로젝트 하위 유형 입니다. 이는 프로젝트에 Visual Studio 내에서 사용될 때 추가 기능과 기능을 사용할 수 있음을 의미합니다.

Visual Studio 2012와 Visual Studio 2013은 모두 ASP.NET MVC 및 기타 프로젝트 유형과의 하위 호환성으로 제한됩니다. 불행히도 이전 MVC 비트를 설치해도 변경되지 않았습니다. Visual Studio 2012는 ASP.NET MVC 3 및 ​​4 프로젝트 버전과 호환 됩니다.Visual Studio 2013은 MVC 4 및 MVC 5와 호환 됩니다.

프로젝트를로드하려면 프로젝트 파일을 수정해야합니다. 이렇게하려면 언로드 된 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 편집을 선택하십시오. 프로젝트 파일을 XML 텍스트 파일로 엽니 다. ProjectTypeGuids다음과 같은 노드를 찾으십시오 .

<ProjectTypeGuids>
    {F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

목록에서 적절한 프로젝트 안내서를 제거하십시오.

  • ASP.NET MVC 1 : {603c0e0b-db56-11dc-be95-000d561079b0}
  • ASP.NET MVC 2 : {F85E285D-A4E0-4152-9332-AB1D724D3325} (위의 예에 표시)
  • ASP.NET MVC 3 : {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • ASP.NET MVC 4 : {E3E379DF-F4C6-4180-9B81-6769533ABE47}

적절한 GUID를 제거하면 ProjectTypeGuids다음과 유사하게 나타납니다.

<ProjectTypeGuids>
    {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

파일을 저장하고 Visual Studio 프로젝트 파일 편집기를 닫습니다. 프로젝트를 마우스 오른쪽 단추로 클릭하고 다시로드를 선택하십시오. 프로젝트가 다시로드되지 않으면 Visual Studio를 닫았다가 다시 엽니 다. 이제 새 버전의 Visual Studio에서 이전 ASP.NET MVC 프로젝트를 사용할 수 있습니다.

주목해야 할 중요한 사항 중 하나는 이러한 수정 후에 Visual Studio가 이것이 ASP.NET MVC 프로젝트라는 것을 인식하지 못한다는 것입니다. 따라서 “컨트롤러 추가,보기 등”과 같은 프로젝트 별 기능 메뉴에 없습니다.


답변

@ahsteele의 접근법 (감사 및 2x + 1!)을 사용했지만 한 가지 더 오류가 있습니다.

.csproj : error : 작업을 완료 할 수 없습니다. 잘못된 클래스 문자열

그 실제 원인에 대한 인용을 찾을 수는 없지만 VS2012RTM이을 변경하여 프로젝트를 성공적으로로드 할 수있었습니다 <ProjectGuid>. (이런 일이 방법을 모르고 – 대형 솔루션의 그 부분은 VS08, VS10, VS11 베타 및 VS2012RC 모든 업그레이드하지 않은 .csproj.sln시간이 지남에 있습니다.


답변

VS2017에서 해결책은 <ProjectTypeGuids></ProjectTypeGuids>그렇게 만드는 것 입니다.

신사 숙녀 여러분 사이에 공간이 없습니다. 그렇지 않으면 48 시간의 시간을 낭비하게됩니다.

문안 인사


답변