Windows Server 2k8でIIS 7に新しい.net 2.0 Webサイトを設定しました。ページを参照すると、404.17エラーが表示され、ファイル(この場合はdefault.aspx)が)はスクリプトのように見えますが、静的ファイルハンドラーによって処理されています。ASP.Netのモジュールマッピングのように混乱しますが、構成では問題ありません。このエラーを修正するための提案はありますか?
どういうわけかASP.NET ISAPIのものが壊れたとき、私はIIS6でこの問題を抱えていました。
ランニング
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
設定を再作成するには、それを処理しました。
このソリューションは私のために働きました...(私はaspnet_regiis.exeを持っています-私はいくつかのダメージを与えます)
http://forums.iis.net/t/1157725.aspx
1。アプリプールを見つけて右クリックします 2。 [基本設定]を選択します 3。現在の.Net Frameworkバージョンを選択します 4。アプリプールを再起動します
私にとっては、次のようにしてうまくいきました
ASP.NETをインストールする
cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
それがあなたのために働くことを願っています。
常にハンドラーマッピングの「親に戻す」を最初に試みてください。
IIS 7.5でASP.NET 4.0を実行しようとすると、404.17が表示されました。上記をすべて試し、最終的に正しいハンドラーマッピングを手動で設定したところ、エラーは発生しませんでした。
次に、同じエラーが発生するさらに別のWebサイトで、ハンドラーマッピングの「親に戻す」を試してみました。6つの* .aspxマッピングが追加され、すべてが完全に機能しました。
明らかに、親を(インストールまたはその他の方法で)適切に構成する必要がありますが、これは非常に簡単であるため、誰もが最初に行うべきステップです。
私にとって、私の問題は、プロジェクトのweb.configファイルの設定(および問題を理解した後の解決策)が原因で発生しました。
私のweb.configファイルでは、system.webServer> handlersエリアに次の2行がありました。
<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
代替ハンドラーに属性 'preCondition = "integratedMode"'があることに注意してください。したがって、私はClassicの代わりにIntegratedを使用するようにAppPoolを変更する必要がありましたpipeline mode設定(これは上記のソリューションの反対です)するように私に言った)。
私にとっての解決策は、仮想アプリケーションの下のハンドラーマッピングセクションから[継承から戻る]をクリックすることでした。
私にとって、これは32ビットアプリケーションをtrueに設定することで解決しました。
これまでのところ、これらの解決策はどれも私にとってうまくいきませんでした。
他のいくつかの可能な解決策を見つけました(私にとってはうまくいきませんでした):
この問題を解決する唯一の方法...
最初にWindows7をインストールし、次にインストールIIS 7 with all features
そして、Visual Studio 2008/2010をインストールしました
私はビジュアルスタジオ2008と2010で作業していますが、このエラーを見たことはありません。
友達のパソコンで試すこともできます。そしてまた、私はこのエラーを解決します。
Windowsの機能メニューのIIS Development Features。
または、コマンドラインDISMを使用します。
Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
私の場合、上記の回答のいずれも問題を解決しませんでした。理由はCGIモジュールがインストールされなかったことでした。
これを解決するために、私はこれらの指示に従いました。
https://docs.Microsoft.com/en-us/iis/configuration/system.webserver/cgi
wCFサービスでのhttpアクティベーションにより、Windows機能がオン/オフになることで問題が解決しました。
私にとっては、サーバーの機能でHTTPアクティベーションがチェックされていませんでした。
私にとって、 this はうまくいきました。マシン構成セクション、ハンドラー、アセンブリ、モジュール、プロトコル、その他の多くのものをインストールして、適切に機能させます。
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
32フレームワークで「不正な形式のプログラムをロードしようとしました...」を取得した後、私のために働きました
多分病気はあなたをもう一秒グーグル保存する
上記のどれも私にとってはうまくいきませんでした。サーバーは64ビットなので、32ビットアプリケーションを許可するようにアプリケーションを設定すると、次のように機能します。
これは、Webアプリケーションが32ビット専用にコンパイルされたためだと思います。