ASP.NET MVC をバージョン 4 からバージョン 5 にアップグレードするときに、次のようなエラーが発生する可能性があります。の 2 つの異なるバージョン間のキャスト操作の結果として得られるものSystem.Web.WebPages.Razor.Configuration.HostSection クラス。この問題の原因を理解し、解決策を特定することが重要です。
プロジェクト ファイルを徹底的にチェックし、すべてのファイルが MVC 5 に更新されていることを確認しても、問題は解決しません。 。これは、問題が Visual Studio ソリューション内にない可能性があることを示しています。
エラー メッセージによると、次の理由でキャスト操作が失敗します。
Visual Studio は、依存関係のアップグレード中に常に正確な選択を行うとは限りません。したがって、プロジェクト ファイル (.csproj) を手動で調べて参照を確認することが重要です。 MVC 4 から MVC 5 にアップグレードする場合、1 つ以上のプロジェクト ファイルに古いバージョンの 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 中国語 Web サイトの他の関連記事を参照してください。