アセンブリ「System.ServiceModel」からタイプ「System.ServiceModel.Activation.HttpModule」をロードできませんでした


88

IISでWebプロジェクトを実行しています。

4.0フレームワークアプリです。

Service.svcがあり、アプリケーションを実行するとこのエラーが発生します。

"アセンブリ 'System.ServiceModel、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'からタイプ 'System.ServiceModel.Activation.HttpModule'をロードできませんでした

私はこれを試しました-> aspnet_regiis.exe -iruを多くのフォーラムで見つけましたが、問題は解決しませんでした。

誰か他の方法を知っていますか?

回答:


156

で試す

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -iru

.NET Frameworkの複数のバージョンが1台のコンピューターで並行して実行されている場合、ASP.NETアプリケーションにマップされたASP.NET ISAPIバージョンは、アプリケーションに使用される共通言語ランタイム(CLR)のバージョンを決定します。

上記のコマンドは、Aspnet_regiis.exeに関連付けられているASP.NETのバージョンをインストールし、ASP.NETのみをIISに登録します。

https://support.microsoft.com/en-us/help/2015129/error-message-after-you-install-the--net-framework-4-0-could-not-load


1
また、CMDを使用することもできます。アドレスcd \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319を入力して、次のようにインストールします。aspnet_regiis.exe -iruコマンド、次にiisreset
Harry Sarshogh

2
これは今日でも役に立ちます。私は今までにMSがこれを修正してくれることを望んでいたでしょう。私の場合、ASP.net 4.0フレームワークを使用してIISアプリケーションを実行しています。4.5.1へのアップグレードと他の多くの更新以外にお客様が何をしたかは正確にはわかりませんが、このコマンドを再実行する必要がありました。しばらくの間。
ebol2000

答えてくれてありがとう。しかし、これは私にはうまくいきませんでした。しかし、Windowsの機能で「.Net Framework 3.5」および「.Net Framework 4.5」のすべてを有効にすると(以下の回答で説明)、トリックが行われました。
Ozgur Bar 2017

私はWindows Server 2008 x64 R2を使用していますが、正常に動作しましたが、1か月後にこのエラーが発生しました。この投稿を見つけてサーバーでこのコマンドを実行すると、問題が解決しました。私は自分のサーバーに何かをインストールしたり更新したりしませんでしたが、問題はなぜそれが起こったのですか?それは正常ですか、それともハックの種類ですか?
motevalizadeh 2017

1
ANDバージョンで実行aspnet_regiis.exe -iruした場合にのみ機能します。v4.0.XXXXX v2.0.XXXXX
1_bug 2018

49

私のマシンにはWindows 8がインストールされていますが、aspnet_regiis.exeツールも機能しませんでした。

私のために働いた解決策は、このリンクのNehaによる回答に投稿されていますSystem.ServiceModel.Activation.HttpModule error

このソリューションの問題はすべて、aspnet_regiis.exeを使用してaspNetを再登録することとして言及されました。しかし、これは私にはうまくいきませんでした。

これは有効な解決策ですが(ここで美しく説明されています)

Windows 8では機能しませんでした。

Windows 8の場合、Windowsの機能を使用し、「。Net Framework 3.5」および「.Net Framework 4.5 Advanced Services」ですべてを有効にする必要があります。

ありがとうねは


4
このアドバイスはWindows Serverの2012年のためにも必要である
クリス・O

これを渡してくれてありがとう。Win 8.1でこれを修正するために
うまくいった

2
すべてを有効にする必要はありません。HttpActivationを有効にするだけです。
マリウススタネスク2014

Mariusの発言、.NET 3.5機能でのHttp Activation
C. Ridley

あなたとネハは私の残りの髪を救いました
Karim AG

36

こんにちは質問をありがとう; 解決方法:「アセンブリ 'System.ServiceModel、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'から型 'System.ServiceModel.Activation.HttpModule'を読み込めませんでした」

Windowsの機能で、.NET 4 Advanced Servicesと.NET 3.5をすべてチェックします。

ここに画像の説明を入力してください

Nicolas Gagoと同じように、aspnet_regiis.exe -iruを試しましたが、機能しませんでした。機能がオンになった後、黄色の画面エラーはなくなりました。ありがとう。


3
これはWindows Server 2012 R2で機能しました。ありがとうございます。
NickG 2014年

Windows 8も同様です。ありがとうございます。
NikitaBaksalyar 2014年

これでWin8が修正されました。ありがとう!+1
Darbio 2014年

1
IISでサービスをホストしているので、 "Http Activation"を有効にするだけで済みました。それは私のために働いた、ありがとう。
Dhanuka777 2014年

3
Windows 10で私のために働いた
ジャスティン

10

次のコマンドを使用して、Powershellを搭載したWindows Server 2012にこれらの機能をインストールできます。

Install-WindowsFeature -Name  NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature -Name  NET-WCF-HTTP-Activation45 -IncludeAllSubFeature

次のコマンドを使用して、機能のリストを取得できます。

Get-WindowsFeature | Format-Table

6

はい、やっとできました。

この行を変更 %windir%\System32\inetsrv\Config\ApplicationHost.config

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

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

これでは不十分な場合

次の行をWeb.configに追加します

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

ApplicationHost.configの変更は、Windows Server 2016で機能しました。他のすべての回答は役に立ちませんでした。ありがとう!
トビアス

5

サーバーマネージャーの[機能]ノードから、他のいくつかの役割のアクティブ化によってインストールされる.NET Framework 3.5.1機能の下のサブ項目の一部を削除することもできます。

たとえば、次のようにWCFアクティベーション機能を削除すると、当社のWebサイトが復活しました。

  • [x] .NET Framework 3.5.1の機能
    • [x] .NET Framework 3.5.1
    • [] WCFアクティベーション
      • [] HTTPアクティベーション
      • []非HTTPアクティベーション

注:これを再起動する必要はありませんでした。




1

このエラーは、あるWebサイトを別のWebサイトのディレクトリに誤って公開した後に発生しました。2つのWebサイトの.netのバージョンが異なっていました。私にとってそれを修正したのは、アプリケーションプールを変更することでした。これを行うには、IISマネージャーで次のようにします。

Webサイトをクリック=>詳細設定...(右側)=>アプリケーションプールの右側をクリック=>「...」のボタンが表示されます=>「.NET v4.5 Classic」を選択

そのアプリケーションプールが機能しない場合は、他のいくつかを試してください。


0

私たちはWebサイトと一緒にWebサービスを使用しており、Webサイトを公開すると同じエラーが返されます。IISに移動し、ServiceModelをModulesから削除し、ハンドラーマッピングからsvc-Integratedを削除することで、エラーが解消されたことがわかりました。


0

私は遅れています、それが誰かを助けることを願っています...これはIIS 8.0の既知の問題です

解決策は、IISマネージャーから3.xモジュールとハンドラーを削除することです。それらをapplicationHost.configに残したい場合は、アプリケーションまたはサイトレベルで削除できます。しかし、私はそれらをapplicationHost.configから削除したかったのです。次の手順を実行します。

IISマネージャーで、コンピューター名のノードをクリックします。「機能ビュー」で、「モジュール」をダブルクリックします。「ServiceModel」を見つけて削除します。IIS 8を解決するための画像1エラー:タイプ「System.ServiceModel.Activation.HttpModule」をロードできませんでした

マシン名ノードの「機能ビュー」に戻り、「ハンドラーマッピング」をダブルクリックします。「svc-Integrated」を見つけて削除します。IIS 8を解決するための画像2エラー:タイプ 'System.ServiceModel.Activation.HttpModule'を読み込めませんでした


0

IIS機能の設定を変更した可能性があります。管理者として実行してコマンドプロンプトを開き(Windows Server 2008の場合)、コマンドC:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exeを実行して解決する簡単な手順 - iru これでASP.Net 4.0がセットアップされ、次にiisresetコマンドでIISをリセットします

参照:https : //support.plesk.com/hc/en-us/articles/213392249-ASP-website-shows-error-Could-not-load-type-System-ServiceModel-Activation-HttpModule-from-assembly


-1

.NETエラーメッセージで識別されたモジュールを削除し、1票

Windows server 2012の場合。ISS-> Modules-> Remove the ServiceModel3-0に移動します。(番号なしで私のために働いた)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.