ASP.NET MVC를 버전 4에서 버전 5로 업그레이드할 때 나타나는 오류가 발생할 수 있습니다. System.Web.WebPages.Razor.Configuration.HostSection 클래스의 서로 다른 두 버전 간의 캐스팅 작업의 결과입니다. 이 문제의 원인을 파악하고 해결책을 찾는 것이 중요합니다.
프로젝트 파일을 꼼꼼히 확인하고 모두 MVC 5로 업데이트했는지 확인한 후에도 문제가 지속됩니다. . 이는 문제가 Visual Studio 솔루션 내에 있지 않을 수 있음을 나타냅니다.
오류 메시지에 따르면 다음과 같은 이유로 캐스팅 작업이 실패합니다.
Visual Studio는 종속성 업그레이드 중에 항상 정확한 선택을 하지 못할 수도 있습니다. 따라서 프로젝트 파일(.csproj)을 수동으로 검사하여 참조를 확인하는 것이 중요합니다. MVC 4에서 MVC 5로 업그레이드할 때 하나 이상의 프로젝트 파일에 여전히 이전 버전의 System.Web.WebPages.Razor에 대한 참조가 포함될 수 있습니다.
이전 참조:
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!