15

aspnet_regiis.exe を実行していますが、同じエラーが発生します。

アセンブリ 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' から型 'System.ServiceModel.Activation.HttpModule' を読み込めませんでした。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。例外の詳細: System.TypeLoadException: アセンブリ 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' から型 'System.ServiceModel.Activation.HttpModule' を読み込めませんでした。

4

8 に答える 8

16

IIS サーバーを .NET 4.5.1 にアップグレードした後も同じエラーが発生しました (以前は .NET 4.0 がインストールされていました)。私の場合、aspnet_regiisパラメーターを指定して実行すると-iru問題が解決しました。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -iru

注:64ビットシステムでは、使用する必要があります

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -iru

ノート:

  • .NET 4.0 以降 (4.5.1 など) はすべて v.4.0.30319 にインストールされます。これは、以前のバージョンと比較して変更されています (v4.5 フォルダーは見つかりません)。インストールされている .NET Framework のバージョンを取得するには、この回答を参照してください。

  • このエラーの原因はここに記載されています。手動で確認する場合は、この記事から次を引用します。

この問題は、Windows プロセス アクティブ化サービス (WAS) のApplicationhost.configファイルに次のセクションが定義されており、このセクションが .NET Framework 4.0 と互換性がないために発生します。

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />

このセクションは次のように定義する必要があります ( に注意してくださいpreCondition)。

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, 
System.ServiceModel, Version=3.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089" 
preCondition="managedHandler,runtimeVersionv2.0" />

:Applicationhost.configファイルは次の場所にあります。%windir%\system32\inetsrv\config

于 2015-01-09T09:55:41.123 に答える
2

ASP.NET 4.0 が IIS に正しく登録されていないようです。asp.net を IIS に再登録してみてください。2.0 と 4.0 の両方を試して、すべての .NET バージョンで確実に実行されるようにすることができます。

asp.net の両方のバージョンに対して次のコマンドを使用して、asp.net を IIS に登録します。

aspnet_regiis -i

これは、両方の .NET Framework バージョン フォルダーにあります。

C:\Windows\Microsoft.NET\Framework\v4.0.30319 および C:\Windows\Microsoft.NET\Framework\v2.0.50727

于 2013-03-04T10:32:53.967 に答える
0

この問題を解決するには、次のコマンド ラインを実行します。

  • aspnet_regiis.exe /iru Aspnet_regiis.exe ファイルは、次のいずれかの場所にあります。 %windir%\Microsoft.NET\Framework\v4.0.30319 %windir%\Microsoft.NET\Framework64\v4.0.30319 (64 -ビットコンピュータ)
于 2014-11-26T05:30:38.727 に答える
0

Windows 2012 では、以下が機能しました。

デフォルトのアプリケーション プールが 4.0 を使用するように設定されているかどうかはわかりません。

アプリケーション プールのプロパティ

しかし、 c:\windows\system32\inetesrv\config\applicationhost.config には正しく反映されませんでした:

<add name="DefaultAppPool" enable32BitAppOnWin64="true" />

2.0 に戻してから 4.0 に戻す必要がありましたが、構成ファイルは問題なく、エラーは消えました。

<add name="DefaultAppPool" enable32BitAppOnWin64="true" managedRuntimeVersion="v4.0" />
于 2016-01-27T12:48:50.607 に答える
0

この問題を解決するには、次のコマンド ラインを実行します。

  1. アプリケーションを閉じる
  2. プロジェクトファイル(Webアプリケーション)で仮想ディレクトリを変更します
  3. プロジェクトファイルを開きます

それは間違いなく動作します。

于 2015-02-23T04:36:17.350 に答える