.NET 4.0 プロジェクトの .NET 2.0 アセンブリのトラブルシューティング
古い .NET ライブラリを新しいプロジェクトに統合すると、互換性の問題が発生することがあります。 このガイドでは、.NET 4.0 アプリケーション内で .NET 2.0 System.Data.SQLite フレームワークを使用するときに発生する一般的な問題について説明します。
問題:
.NET 4.0 プロジェクト内で .NET 2.0 ランタイム (.NET Framework、バージョン v2.0.50727) 用に構築された混合モード アセンブリ (通常は C /CLI) を利用しようとすると、次のエラーが発生する場合があります。
「混合モード アセンブリは、ランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報がなければ 4.0 ランタイムに読み込むことはできません。」
解決策:
このエラーは、アプリケーションの App.Config ファイルに特定の構成セクションを追加することで解決されます。 この構成は、共通言語ランタイム (CLR) に古いアセンブリの処理方法を指示します。 App.Config の <configuration>
要素内に次の XML スニペットを追加します:
<code class="language-xml"><configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime sku=".NETFramework,Version=v4.0" version="v4.0"/> </startup> </configuration></code>
ここでの鍵は useLegacyV2RuntimeActivationPolicy="true"
です。この設定により、CLR は .NET 4.0 ランタイムを使用して混合モード アセンブリを読み込むことができ、バージョンの不一致を克服できます。
重要な考慮事項:
この構成は、混合モード アセンブリにのみ必要です。 .NET 2.0 用にコンパイルされた純粋にマネージド (.NET) アセンブリは、通常、この App.Config の変更を必要とせずに読み込まれます。
以上が.NET 4.0 プロジェクトで .NET 2.0 アセンブリを参照するときに発生する「混合モード アセンブリ」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。