58

「このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません」というエラーが表示されます。

.NET 2.0 プロジェクトによって呼び出されている .NET 4.0 dll プロジェクトがあります。フレームワークの違いを調整する方法はありますか?

4

12 に答える 12

50

.NET 2.0 プロジェクトによって呼び出されている .NET 4.0 dll プロジェクトがあります。フレームワークの違いを調整する方法はありますか?

そうではありません。.NET 4 CLR は .NET 2 アセンブリを読み込むことができます (通常、混合モード アセンブリ、IIRC にはいくつかの例外があります) が、その逆はできません。

.NET 2 プロジェクトを .NET 4 にアップグレードするか、.NET 4 プロジェクトを .NET 3.5 (またはそれ以前) にダウングレードする必要があります。

于 2012-05-15T18:59:35.400 に答える
13

このページの他のすべての論理的な解決策を既に試している場合は、これを再確認してください。私の app.config には、古いフレームワークへの参照がありました。

<startup>
  <supportedRuntime version="v2.0.50727"/>
</startup>

になるはずだった

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

プロジェクト タブには v4.0 が正しく表示されましたが、その変更により app.config がリポジトリにコミットされませんでした。それを修正するために、フレームワークを別のものに変更し、再び 4.0 に戻し、app.config ファイルを更新しました。

于 2016-06-13T20:57:12.210 に答える
6

Since only one version of the run-time can be loaded into a process (although, as others have alluded, backwards loading - 4.0 loading 2.0 - is okay), you have a few options:

  • Upgrade the .Net 2.0 project
  • Wrap the .Net 2.0 project (if the source is not yours)
  • Downgrade the .Net 4.0 project
  • Load the .Net 4.0 project into it's own process (I believe this can work - but will take a bit of effort, IMO)
于 2012-05-15T19:04:25.460 に答える
5

.NET 2 プロジェクトを .NET 4 にアップグレードするか、.NET 4 プロジェクトを .NET 3.5 (またはそれ以前) にダウングレードする必要があります。

.net バージョンをどのようにアップグレードしますか? どこに何を指定すればよいのかわかりません。助けてください。

編集:答えは自分で見つけました。プロジェクトを選択し、右クリックして [プロパティ ページ] を選択します。フレームワークのバージョンを選択できます。または、プロジェクトを選択してShift+F4をクリックします

于 2013-01-25T12:09:13.977 に答える
4

興味深いことに、私はそのエラーを受け取り続けました。私にとってそれを修正したのは、gacutil.exeと同じディレクトリにgacutil.exe.configという構成を作成することでした。設定内容 (テキスト ファイル) は次のとおりです。

<?xml version ="1.0"?> <configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
    </startup> </configuration>

参照用にこれをここに投稿し、内部で実際に何が起こっているかを誰かが知っているかどうか尋ねます. これが「適切な」方法であると主張しているわけではありません

于 2016-05-12T22:43:40.287 に答える
2

サービスをインストールするためにINSTALL_UTIL_HOMEディレクトリを からC:\WINDOWS\Microsoft.NET\Framework\v2.0に変更します。C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319このエラーは、主にバージョンの不一致で発生します。

于 2015-09-07T08:49:20.693 に答える
1

このエラーは、IIS で既定として選択されている .NET Framework のバージョンが正しくない場合にも発生する可能性があります。

[接続] ビュー (左側) の下のルート ノードをクリックし、[アクション]ビュー (右側)から[ .NET Framework バージョンの変更] を選択し、ドロップダウン リストから適切な .NET バージョンを選択します。

于 2016-08-22T23:23:43.567 に答える