MVC 3プロジェクトをIISのローカルインストールで機能するように設定していますが、次の500エラーが発生しました。
ハンドラ "PageHandlerFactory-Integrated"のモジュールリストに、不良モジュール "ManagedPipelineHandler"があります。
これは、[機能の追加]ダイアログボックスでチェックボックスをオンにしても、ASP.NETがIISと共に完全にインストールされていないためです。これを修正するために、コマンドプロンプトで次のコマンドを実行しました。
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
私が32ビットシステムを使っていたら、それは次のようになっていたでしょう。
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
私の質問は、この余分な手順を踏まずに.NET 4.0(MVC 3)を使用するためにWindows 7のボックスにIISをインストールする方法があるかということです。
これは、[機能の追加]ダイアログボックスでチェックボックスをオンにしても、ASP.NETがIISと共に完全にインストールされていないためです。これを修正するために、コマンドプロンプトで次のコマンドを実行しました。
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
私が32ビットシステムを使っていたら、それは次のようになっていたでしょう。
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
コマンドPrompt as administratorを実行することを忘れないでください(CTRL+SHIFT+ENTER)
受け入れられた答えは正しいですが、時々あなたは " Aspnet_regiis.exeは内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。 "エラーメッセージを得るでしょう。
それを解決するには、以下を試してください。
.NET 4.0インストールが破損していないことを確認してください(インストーラを実行して「修復」)。あなたのマシンにまったくインストールされていない可能性もあります。
.NET 4.0がインストールされておらず、.NET 2.0として実行したい場合は、 this を試してください。
「Aspnet_regiis.exeが内部または外部のコマンド、操作可能なプログラム、またはバッチファイルとして認識されていません」というメッセージが表示された場合は、 C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet_regiisに切り替えます。 exe -i コマンドプロンプトで。
この問題を解決するにはrepair the .net framework 4
を試してからコマンドを実行してください。
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
エラー:ハンドラ "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
しかし、cmd Promptを使用してこれらのコマンドを実行しようとすると、次のようなエラー/警告メッセージが表示されました。
C:¥Windows¥Microsoft.NET¥Framework64¥v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS version 4.0.30319.33440ローカルマシンにASP.NETをインストールおよびアンインストールするための管理ユーティリティ。著作権(C)マイクロソフトコーポレーション。全著作権所有。 ASP.NET(4.0.30319.33440)のインストールを開始してください。このオプションは、このバージョンのオペレーティングシステムではサポートされていません。管理者は、代わりに[Windowsの機能の有効化と無効化]ダイアログ、サーバーマネージャ管理ツール、またはdism.e xeコマンドラインツールを使用して、IIS 8がインストールされたASP.NET 4.5をインストールまたはアンインストールする必要があります。詳細については、 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を有効にする
これで問題は解決します。
.Net 4用のISAPI/CGIパスを追加しました。これで問題は解決しませんでした。それで私はそれから.Net V4(クライアントと拡張)インストールの修理をしました。再起動を要求しました。これで解決しました。
最初に明らかなことも確認します。アプリケーションプールが正しいフレームワークに設定されていること、およびIISアプリケーションが実際にファイルを保存するフォルダを指していることを確認します。
MVCをインストールせずにMVCアプリケーションをデプロイしたい場合は、 アプリケーションと一緒にMVC DLLをデプロイすることができます 。これはMVC 3のインストールを回避します。同様の方法で.Netをインストールしなくても、いくつかの.Net 4.0名前空間で機能を使用できます。
コマンドプロンプトでaspnet_regiisを実行しようとしましたが、管理者権限がないと答えました。それから、もう少しグーグルで解決策を探した後、cmdを右クリックして管理者として実行しようとしました。ダイアログが表示されたときにyesを確認し、aspnet_iisを再び実行したところ、antは魅力のように動作しました。要するに:1. app_poolで.NET Frameworkをチェックします。2.管理者としてcmdを実行します。3. aspnet_regiis -iを実行します。
これを Windows 8.1 Professional のマシンで修正するには、次のようにします。
Web Platform Installerをインストールします。 http://www.Microsoft.com/web/downloads/platform.aspx
Web Platform Installerに ASP.NET 4.5 をインストールします(この機能には1つの依存関係があります)。
あなたが単に最も人気のある答えから前述のcmd Promptコマンドを試みるならば、あなたは以下のエラー/警告メッセージを得るでしょう:
C:¥Windows¥Microsoft.NET¥Framework64¥v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS version 4.0.30319.33440ローカルコンピュータにASP.NETをインストールおよびアンインストールするための管理ユーティリティ。著作権(C)マイクロソフトコーポレーション。全著作権所有。 ASP.NET(4.0.30319.33440)のインストールを開始してください。 このオプションは、このバージョンのオペレーティングシステムではサポートされていません 。管理者は、代わりに[Windowsの機能の有効化と無効化]ダイアログ、サーバーマネージャ管理ツール、またはdism.e xeコマンドラインツールを使用して、IIS 8がインストールされたASP.NET 4.5をインストールまたはアンインストールする必要があります。詳細については、 http://go.Microsoft.com/fwlin k /?LinkID = 216771を参照してください。 ASP.NETのインストールが完了しました(4.0.30319.33440)。
私は同じ問題を抱えていて、私の解決策は以下のとおりです。
[Windowsの機能の有効化または無効化]> [インターネットインフォメーションサービス]> [World Wide Webサービス]> [アプリケーション開発機能]> [ASP.NET 4.5を有効にする]の順に選択します。
- アプリケーションの初期化機能の使用 - 構成の継承による誤ったページ(.asp)の要求
500.21は最初のユーザー接続でのみ発生します。その後の接続は機能します。
.NET WebサイトのapplicationInitialization URLコレクションを修正することで解決しました。
私は、サーバーマネージャに機能 " Application Server "をインストールすることで問題を解決しました。
cmd
を実行します
Aspnet_regiis.exe
を次のコマンドプロンプトにドラッグアンドドロップします。
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
タイプ-i
(たとえばAspnet_regiis.exe -i
)
enterキーを押します
がんばろう!
シナリオによっては、このエラーは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/ja-jp/library/hh168535(v=nav.80).aspx
これらのどれも私のために働きませんでした。そのため、さまざまなアプリプールと、機能しているアプリプールを比較して、機能していないアプリプールと比較して、アプリプールの詳細設定を選択し、
32ビットアプリケーションを有効にする= true
それからそれはうまくいきました!
私は自分のWebサーバの1つでこの問題を抱えていて、ApppoolをClassicからIntegratedに切り替えようとしていました。これは私だけではなく私の他の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" />
それらを追加したら、すべてがうまくいった。
私はこの問題を抱えていて、Express版以外でも次のフォルダを削除することが助けになることを発見しました。
C:\Users\<user>\Documents\IISExpress
この問題を解決するには、.NET Framework 4を修復してからコマンドを実行してください。
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
私は同じ問題を抱えていました、私のケースではハンドラは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]からハンドラを削除したとき、私の問題は解決しました。