ホームページ > バックエンド開発 > C++ > ASP.NET MVC アプリケーションをバージョン 4 から 5 にアップグレードするとキャスト エラーが発生するのはなぜですか?

ASP.NET MVC アプリケーションをバージョン 4 から 5 にアップグレードするとキャスト エラーが発生するのはなぜですか?

Patricia Arquette
リリース: 2025-01-04 03:07:42
オリジナル
432 人が閲覧しました

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 にアップグレードするときに、次のようなエラーが発生する可能性があります。の 2 つの異なるバージョン間のキャスト操作の結果として得られるものSystem.Web.WebPages.Razor.Configuration.HostSection クラス。この問題の原因を理解し、解決策を特定することが重要です。

エラーの原因

プロジェクト ファイルを徹底的にチェックし、すべてのファイルが MVC 5 に更新されていることを確認しても、問題は解決しません。 。これは、問題が Visual Studio ソリューション内にない可能性があることを示しています。

エラー メッセージによると、次の理由でキャスト操作が失敗します。

  • Type 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 にアップグレードする場合、1 つ以上のプロジェクト ファイルに古いバージョンの 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート