500.21モジュールリストの不正なモジュール「ManagedPipelineHandler」


83

エラーが発生します:

HTTPエラー500.21-内部サーバーエラーハンドラー「CloudConnectHandler」のモジュールリストに不正なモジュール「ManagedPipelineHandler」があります

私のweb.configファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" resourceType="Unspecified" />
    </handlers>
  </system.webServer>
  <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.0" batch="false">
      <assemblies>
        <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
      </assemblies>
    </compilation>
    <pages>
      <controls>
        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
      </controls>
    </pages>
        <identity impersonate="true" />
        <authentication mode="Forms" />
  </system.web>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v4.0" />
        <providerOption name="WarnAsError" value="false" />
      </compiler>
    </compilers>
  </system.codedom>
  <appSettings>
    <add key="CloudConnectAuthorization" value="xxxx" />
    <add key="ConnectionInfo" value="xxxx" />
    <add key="ConnectionString" value="xxxx" />
    <add key="DefaultChannel" value="xxxx" />
    <add key="LoginValidationConnectionString" value="xxxx" />
  </appSettings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.640" newVersion="2.0.0.640" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

asp.netが正しくインストールされていないことを示す多くのアドバイスがあります。通常の修正は実行することです:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

または

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

私はエラーなしで両方を実行しました。IISを再起動しましたが、問題は解決しません。サイトはアプリケーションプールを使用しています。アプリプールが開始されます。.netframework= 4.0、Managed Pipeline = Classic、Identity = LocalSystemです。

私はここ数時間、問題が何であるかを理解しようと努めてきました。誰かが助けてくれることを願っています。

回答:


18

統合モードに切り替えてみてください。次のスレッドを参照してください。

IIS 7、HttpHandlerおよびHTTPエラー500.21


統合に切り替えたため、別のエラーが発生しました。それを修正すると、すべてが正常に機能し始めました。ありがとうございました。
ジョージマストロス2014年

これに対する「反対票」。私はすでに統合モードを有効にしていました。@Armaanは簡潔ですが完璧に答えます。
エコーロジー2016

この答えは有効です、それは私の問題を解決します、私はNET 3.5を使用し、500.21エラーを受け取りました。統合モードに切り替えると、問題が解決しました。
freedeveloper 2018

185

次の手順に従ってください。

1)管理者としてコマンドプロンプトを実行します。

2)コマンドプロンプトに以下の2行のいずれかを入力します。

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

または

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

2
SOへようこそ。ご回答ありがとうございます。この回答は、その簡潔さのためにレビューのフラグが立てられています。あなたの答えは技術的に正しいかもしれませんが、OPが抱えている根本的な問題と、あなたの答えが機能する理由を説明するテキストを追加することで改善される可能性があります。
ソフトウェアエンジニア

8
ここにもっとテキストがあります。ムハハハハ+1。本当の理由は、最初に4.5.1をインストールしてから、IISを貼り付けても、自動的に正しく認識されないためだと思います。または私はそれを逆の順序で持っています。どちらにしても。これは私のために働いた
ハブソンブロパ2014年

これが解決策です!
alexroat 2015年

4
私は新しい2008R2サーバーを構築しています(はい、2015年に)。最初に4.5.xをインストールし、その後IISをスタックしました。@ hubsonBropaがコメントで述べたように。これにより、私は多くのハードルの最初のものを乗り越えました。
bkwdesign 2015年

.NET 4.5.xまたは4.6.xを使用している場合は、4.0について言及している答えにだまされて、それが自分には当てはまらないと考えないでください。この問題は、私にとってそうであったように、IISの前の.NETのインストールの順序に関連している可能性があります。コマンド(私の場合は64ビットバージョン)を実行すると、アプリケーションが.NET4.5.2を使用している場合でも修正されました。
コクシー2016年

51

Windows Server 2012R2の新しいビルドでこのエラーが発生しました。IISと.NET4.5はインストールされていましたが、ASP.NETサーバーの役割(私の場合はバージョン4.5)は追加されていませんでした。このスクリーンショットにあるASP.NET4.5のように、必要なASP.NETのバージョンが追加/インストールされていることを確認してください。

ASP.NETサーバーの役割


現在はASP.NET4.7(Svr 2016)
Bendecko

31

問題を解決するために、私は実行しようとしました

%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i

しかし、それは私にとってはうまくいきませんでした。管理者としてCMDウィンドウで別のコマンドラインを実行する必要があります。コマンドは次のとおりです。

dism / online / enable-feature / featurename:IIS-ASPNET45

または

dism / online / enable-feature / featurename:IIS-ASPNET45 / all

それが役立つことを願っています。


これは、IIS 10とウィンドウ10のプレビュービルド10074上にも私のためにそれを解決した
ショーンMcGough

3
%最初からを削除した後、dismコマンドが機能しました。だから私は走った:dism /online /enable-feature /featurename:IIS-ASPNET45 /all
Schmalls 2016年

1
Windows Server 2016で動作します!どうもありがとう!
エイドリアンKsiężarczyk

4

このエラーは、Windows Server 2012R2のASP.Net4.5アプリで発生しました。

スタートメニュー->「Windowsの機能をオンまたはオフにする」に移動します。ウィザードがポップアップしました。

サーバーの役割の横にある[次へ]をクリックします

これを機能させるには、WebサーバーIIS-> Webサーバー->アプリケーション開発の下にあるこれらをチェックする必要がありました(これらは上記のJeremy Cookの回答に基づいています):

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

次に、[機能]の横にあるをクリックし、以下がチェックされていることを確認します。

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

次に、[次へ]をクリックして[インストール]をクリックします。この時点で、エラーはなくなりました。幸運を!


3

これは、両方のためにIIS 7つの使用するHTTPハンドラである<system.web><httpHandlers><system.webServer><handlers>。アプリケーションでCloudConnectHandlerが必要な場合は<httpHandlers>、このハンドラーを含むセクションを<system.web>:に追加する必要があります。

<httpHandlers>
    <add verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" />
</httpHandlers>

またpreCondition<system.webServer>:のハンドラーに属性を追加します。

<handlers>
  <add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" preCondition="integratedMode" />
</handlers>

それが役に立てば幸い


2

私の場合、PUTまたはDELETEWebAPIを使用しているときに、このエラーメッセージが表示されていました。また、提案されているように.NET Frameworkを再登録しようとしましたが、役に立ちませんでした。

個々のアプリケーションプールのWebDAVを無効にすることでこれを修正できました。これにより、PUTまたはを使用する際の「不正なモジュール」エラーが停止しましたDELETE

個々のアプリプールのWebDAVを無効にします。

  1. 影響を受けるアプリケーションプールをクリックします
  2. WebDAV Authoring Toolsリストで見つける
  3. クリックして開きます
  4. Disable WebDAV右上をクリックします。

このリンクは私が指示を見つけた場所ですが、それはあまり明確ではありません。


1
私の問題は正確に。プットと削除は、WebDavが有効になっていると機能しませんでした。あなたの発見を共有してくれてありがとう!
ilter 2015

2

IIS ExpressではなくIISが必要なときに、Windows10でこの問題が発生しました。新しいWebプロジェクトがOPのエラーで失敗しました。修正は

Control Panel > Turn Windows Features on or off > Internet Information Services > World Wide Web Services > Application Development Features

ティックASP.NET 4.7(私の場合)


0

新しいWebサイトを展開したり、MSDeployを使用して既存のWebサイトを更新したりするたびに、この問題が発生しました

次の構文でMSDeploy使用してアプリドメインをアンロードすることで、これを修正できました

msdeploy.exe -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/myAppName",recycleMode=UnloadAppDomain

アプリケーションプールを停止、開始、またはリサイクルすることもできます。詳細については、http//technet.microsoft.com/en-us/library/ee522997%28v=ws.10%29.aspxを参照してください。

Armaanの解決策は私を動けなくするのに役立ちましたが、問題が永久になくなるわけではありませんでした。


0

IIS 8の場合は、コントロールパネルに移動し、Windowsの機能をオン/オフにして、不正な「名前付きパイプのアクティブ化」を有効にしてから、IISを再起動します。同じことがIIS7でも機能することを願っています


-1

役割と機能を追加する順序が重要であることがわかりました。新しいシステムで、役割「アプリケーションサーバー」をアクティブ化し、.net、Webサーバーのサポートを明示的に確認し、最後にアクティブ化サービスを処理します。その後、役割「Webサーバー」も追加する必要があるというダイアログが自動的に表示されます。


-1

以下のように.NETFrameworkをインストールすると、.NETバージョン4.5でも動作します。

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

時々与えるだけではaspnet_regiis.exe -iうまくいかないのでaspnet_regiis.exe -ir、上記のパスで与えてください。

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