> 백엔드 개발 > C++ > ASP.NET MVC 응용 프로그램을 버전 4에서 5로 업그레이드할 때 캐스팅 오류가 발생하는 이유는 무엇입니까?

ASP.NET MVC 응용 프로그램을 버전 4에서 5로 업그레이드할 때 캐스팅 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-04 03:07:42
원래의
404명이 탐색했습니다.

Why Am I Getting a Casting Error When Upgrading My ASP.NET MVC Application from Version 4 to 5?

ASP.NET MVC를 4에서 5로 업그레이드하는 중 이상한 오류

ASP.NET MVC를 버전 4에서 버전 5로 업그레이드할 때 나타나는 오류가 발생할 수 있습니다. System.Web.WebPages.Razor.Configuration.HostSection 클래스의 서로 다른 두 버전 간의 캐스팅 작업의 결과입니다. 이 문제의 원인을 파악하고 해결책을 찾는 것이 중요합니다.

오류 원인

프로젝트 파일을 꼼꼼히 확인하고 모두 MVC 5로 업데이트했는지 확인한 후에도 문제가 지속됩니다. . 이는 문제가 Visual Studio 솔루션 내에 있지 않을 수 있음을 나타냅니다.

오류 메시지에 따르면 다음과 같은 이유로 캐스팅 작업이 실패합니다.

  • A 유형: 전역 어셈블리 캐시에 있는 이전 버전의 어셈블리(System.Web.WebPages.Razor, Version=1.0.0.0)에서 시작됩니다. (GAC).
  • 유형 B: 프로젝트에서 성공적으로 참조된 최신 버전의 어셈블리(System.Web.WebPages.Razor, Version=3.0.0.0)에서 시작됩니다.

이전 DLL의 출처를 찾는 방법

Visual Studio는 종속성 업그레이드 중에 항상 정확한 선택을 하지 못할 수도 있습니다. 따라서 프로젝트 파일(.csproj)을 수동으로 검사하여 참조를 확인하는 것이 중요합니다. MVC 4에서 MVC 5로 업그레이드할 때 하나 이상의 프로젝트 파일에 여전히 이전 버전의 System.Web.WebPages.Razor에 대한 참조가 포함될 수 있습니다.

참조 업데이트 단계

  1. 솔루션 탐색기에서 해당 노드를 마우스 오른쪽 버튼으로 클릭하고 "언로드"를 선택하여 프로젝트를 언로드합니다. Project."
  2. 프로젝트 노드를 다시 마우스 오른쪽 버튼으로 클릭하고 ".csproj 편집"을 선택합니다.
  3. 파일에서 System.Web.WebPages.Razor에 대한 모든 참조를 검색합니다.
  4. 표시된 대로 버전과 HintPath를 적절하게 업데이트하세요. 아래:

이전 참조:

<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
    <Private>True</Private>        
    <HintPath>..\packages\Microsoft.AspNet.WebPages.1.0.20105.408\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
로그인 후 복사

업데이트된 참조:

<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\Microsoft.AspNet.WebPages.3.0.0\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
로그인 후 복사

이 단계를 수행해야 합니다. 솔루션의 모든 종속 프로젝트에 대해 반복됩니다.

미래 방지 발생

향후 유사한 문제를 방지하려면 프로젝트 파일을 철저히 검토하고 종속성을 업그레이드할 때 모든 참조가 올바르게 업데이트되었는지 확인하는 것이 좋습니다. 또한 web.config 및 /Views/web.config 파일을 확인하여 오래된 버전의 어셈블리를 참조하지 않는지 확인하는 것이 좋습니다.

드물지만 위의 해결 방법 중 어느 것도 문제를 해결하지 못하는 경우가 있습니다. 문제인 경우 문제가 솔루션 외부, 잠재적으로 파일의 이전 버전을 참조하는 타사 라이브러리에 있을 가능성이 있습니다. 이러한 경우 업데이트된 버전의 DLL을 구해야 합니다.

위 내용은 ASP.NET MVC 응용 프로그램을 버전 4에서 5로 업그레이드할 때 캐스팅 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿