修正方法:ハンドラー「PageHandlerFactory-Integrated」のモジュールリストに不正なモジュール「ManagedPipelineHandler」があります


543

IISのローカルインストールで動作するようにMVC 3プロジェクトを構成していますが、次の500エラーが発生しました。

ハンドラ「PageHandlerFactory-Integrated」のモジュールリストに不正なモジュール「ManagedPipelineHandler」があります。

これは、[機能の追加]ダイアログボックスでチェックボックスをオンにしたにもかかわらず、IISでASP.Netが完全にインストールされなかったことが原因であることがわかりました。これを修正するには、コマンドプロンプトで次のコマンドを実行します。

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

32ビットシステムを使用していた場合、次のようになります。

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

私の質問は、Windows 7ボックスにIISをインストールして、この追加の手順を実行せずに.NET 4.0(MVC 3)を使用する方法はありますか?


2
質問は実際に私の問題を解決しました。できれば答えとして答えていただろう。:)
セレグウェスリン2014

ええ、質問の説明は私の問題も解決しました。ありがとう:-)
sramsay

回答:


950

これは、[機能の追加]ダイアログボックスでチェックボックスをオンにしたにもかかわらず、IISでASP.Netが完全にインストールされなかったことが原因であることがわかりました。これを修正するには、コマンドプロンプトで次のコマンドを実行します。

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

32ビットシステムを使用していた場合、次のようになります。

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

管理者としてコマンドプロンプトを実行することを覚えておいてください(CTRL+ SHIFT+ ENTER


あなたは持っているかもしれない「Aspnet_regiis.exeには、内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」エラー。この場合、実行可能ファイルは.NET 4.0フォルダーからではなく、2.0フォルダーから(以下の私の回答を参照)
Nikita G.

一部のサイトでは、aspnet_regiis.exeを実行する必要があると読みましたが、パラメーターが必要であることを説明しているものはありません。
ピメンタ2012

とても簡単な答え。私はそれが悪いインストールだと知っていました、それを修正する方法を知りませんでした。
elcool 2013年

Windows Server 2012を使用している場合は、[管理]> [役割と機能の追加]> [機能]からこれを行う必要があることに注意してください。私の場合、IIS8はASP.NET 4.5をインストール/アクティブ化する必要がありました。
スターク

5
管理者として実行することを忘れないでください
Reid Evans

17

受け入れられた答えは正しいですが、「Aspnet_regiis.exeが内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されない」というエラーメッセージが表示される場合があります。

それを解決するには、以下を試してください:

  1. .NET 4.0インストールが破損していないことを確認します(インストーラーを実行して「修復」します)。マシンにインストールされていない可能性もあります。

  2. あなたは確信している場合は、.NET 4.0がインストールされていると.NET 2.0として、それを実行したくない、してみてくださいこれを

「Aspnet_regiis.exeが内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。」というメッセージが表示された場合は、 C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe -iに切り替えます。 コマンドプロンプトで。


Aspnet_regiis.exe -iは、Win Server 2008 IIS7での問題を修正しました。
VSB 2014年

9

この問題を解決するにはrepair the .net framework 4、次のコマンドを実行してください。

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

9

エラー:ハンドラー「PageHandlerFactory-Integrated」のモジュールリストに不正なモジュール「ManagedPipelineHandler」があります

コマンドプロンプトで次のコマンドを実行するだけで、この問題を修正する記事が見つかりました。

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

システムが32ビットの場合、次のようになります。

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

しかし、コマンドプロンプトを使用してこれらのコマンドを実行しようとすると、次のエラー/警告メッセージが表示されました。

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS version 4.0.30319.33440ローカルコンピュータにASP.NETをインストールおよびアンインストールするための管理ユーティリティ。Copyright(C)Microsoft Corporation。全著作権所有。ASP.NET(4.0.30319.33440)のインストールを開始します。このオプションは、このバージョンのオペレーティングシステムではサポートされていません。代わりに、管理者はIIS 8でASP.NET 4.5をインストール/アンインストールし、[Windowsの機能のオン/オフ]ダイアログ、サーバーマネージャー管理ツール、またはdism.exeコマンドラインツールを使用する必要があります。詳細については、http://go.microsoft.com/fwlin k /?LinkID = 216771 を参照してください。ASP.NET(4.0.30319.33440)のインストールが完了しました。**

Windows 8.1でこれを修正するには、次のことを行うことをお勧めします。

解決:

後藤:Windowsの機能をオンまたはオフにする->インターネットインフォメーションサービス-> World Wide Webサービス->アプリケーション開発機能-> ASP.NET 4.5を有効にする

これで問題は解決します。


私も同じ問題を抱えていました。ありがとう!私は「ASP.NET 4.6」を有効にする必要がありました。
ジェニー・オライリー

4

最初に明らかなことも確認します。アプリケーションプールが正しいフレームワークに設定されていること、およびIISアプリケーションが実際にファイルを配置するフォルダーを指していることを確認します。


とても明白ですが、見落としがちです。ありがとう!
Paul Lemke 14

これは私にとって問題でした。どうやら私はこれを解除したり、「マネージコードなし」に設定したようです。それをv4.0に戻すと、サイトがロードされました。
redOctober13 2014

3

MVCをインストールせずにMVCアプリケーションをデプロイする場合は、アプリケーションとともにMVC DLLをデプロイできます。これにより、MVC 3のインストールが回避されます。同様のアプローチを使用して.Netをインストールしなくても、一部の.Net 4.0名前空間の機能を使用できます。


4
asp.netをiisに登録することは、mvcが存在するかどうかとは関係ありません。必要なdllをbinフォルダーに含めることができますが、iisがaspファイルを認識しない場合、dllが実行できることはあまりありません
Shekhar

3

.Net 4のISAPI / CGIパスを追加しましたが、問題は修正されませんでした。そこで、.Net V4(クライアントおよび拡張)インストールの修復を実行しました。再起動を求めた。これで修正されました。


2

Windows 8.1 Professionalマシンでこれを修正するには、次のようにします。

  1. Web Platform Installerをインストールします。http://www.microsoft.com/web/downloads/platform.aspx

  2. Web Platform InstallerでASP.NET 4.5をインストールします(この機能には1つの依存関係があります)。

最も人気のある回答から前述のcmdプロンプトコマンドを単純に試すと、次のエラー/警告メッセージが表示されます。

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS version 4.0.30319.33440ローカルコンピュータにASP.NETをインストールおよびアンインストールするための管理ユーティリティ。Copyright(C)Microsoft Corporation。全著作権所有。ASP.NET(4.0.30319.33440)のインストールを開始します。 このオプションは、このバージョンのオペレーティングシステムではサポートされていません。代わりに、管理者はIIS 8でASP.NET 4.5をインストール/アンインストールし、[Windows機能のオン/オフ]ダイアログ、サーバーマネージャー管理ツール、またはdism.e xeコマンドラインツールを使用する必要があります。詳細については、http://go.microsoft.com/fwlin k /?LinkID = 216771 を参照してください。ASP.NET(4.0.30319.33440)のインストールが完了しました。


2

コマンドプロンプトでaspnet_regiisを実行しようとしましたが、管理者権限がないという回答を得ました。次に、さらにグーグルしてソリューションを探した後、cmdを右クリックして管理者として実行しようとしました。ダイアログが表示されたときに「はい」と確認され、aspnet_iisが再び実行され、魅力的な働きをしました。つまり、1. app_poolの.NETフレームワークを確認します2.管理者としてcmdを実行します3. aspnet_regiis -iを実行します


2

私は同じ問題を抱えていて、私の解決策は:

[Windowsの機能を有効または無効にする]> [インターネットインフォメーションサービス]> [World Wide Webサービス]> [アプリケーション開発機能]> [ASP.NET 4.5を有効にする]に移動します。


これは魅力のように機能しますが、「アプリケーション開発機能」であることを考えると、運用サーバーでこれを実行したくない理由はありますか?
Philip Stratford

その機能について、実稼働環境での使用についてコメントするには不十分です。しかし、私はこのリンクが役に立つtechnet.microsoft.com/en-us/library/hh831475.aspxを見つけました。また、コマンドプロンプトからIISおよびASP.NETモジュールをインストールするために使用できるコマンドも含まれています。これは、運用のニーズにより適している場合があります。
Ryan Burbidge 2015

1

Windowsサーバー2012でも同様の問題があり、サーバーマネージャーに「アプリケーションサーバー」機能をインストールすると問題が解決しました。


1

-アプリケーションの初期化機能を使用する-構成の継承のために間違ったページ(.asp)を要求する

500.21は、最初のユーザー接続でのみ発生します。その後の接続は機能します。

.NET WebサイトのapplicationInitialization urlコレクションを修正することで解決しました。


1
  1. 走る cmd

  2. 以下Aspnet_regiis.exeからコマンドプロンプトにドラッグアンドドロップします。

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
  3. タイプ-i(例Aspnet_regiis.exe -i

  4. Enterキーを押します

  5. プロセスが完了するまで待ちます

幸運を!


0

私はこの問題を抱えており、Express以外のエディションでも、次のフォルダーを削除すると役立つことがわかりました。Express:

C:\Users\<user>\Documents\IISExpress


0

これらはどれも私にとってはうまくいきませんでした。そのため、さまざまなアプリプールを機能したものと機能しなかったものと比較したため、アプリプールの詳細設定に移動し、

32ビットアプリケーションを有効にする= true

その後、うまくいきました!


0

私は同じ問題を抱えていました、私の場合ハンドラーは2つの場所にありました:

<system.web>
...
<httpHandlers>
 <add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
  </httpHandlers>
</system.web>

<system.webServer>
<handlers>
   ...
  <add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>

そして、[system.webServer]からハンドラーを削除すると、問題が解決しました。


0

一部のシナリオでは、このエラーはASP .NETのMicrosoft .NET Framework 4.0構成が破損しているために発生します。これは、Microsoft Visual Studio 2012がVisual Studio 2010またはMicrosoft SQL Server 2008の前にインストールされた場合に発生する可能性があります。

さまざまなことを試した後、結論に達しました。次のコマンドを実行して、.Netインストールを修復します。詳細については、リンクをクリックしてください。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart

https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx



0

アプリプールをクラシックから統合に切り替えようとしたときに、Webサーバーの1つでこの問題が発生していました。これだけでなく、他の2つのWebサーバーでも問題なく動作しました。これはServer 2012であるため、aspnet_regiisを実行することはできず、その修復を試行するsetupcacheフォルダーはありませんでした。すべてが機能の下で正しく設定されました。

%windir%\ system32 \ inetsrv \ config \ applicationHost.configを確認したところ、重要な欠落ビットが1つ見つかりました。私の非稼働状態では、次の2行が欠けていました。

        <add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
        <add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

それらを追加すると、すべてがうまくいきました。

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