サーバー側のコードが処理されないため、ASP.NET ページで予期しない現象が発生する

文書翻訳 文書翻訳
文書番号: 325093 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

実行時に発生する現象

Microsoft ASP.NET Web アプリケーションで .aspx ページを表示すると、次の現象が発生する場合があります。
  • ブラウザに空白のページが表示されることがあります。
  • .aspx ページをダウンロードするように求めるメッセージが表示されることがあります。
一般的な動作では、.aspx ページのサーバー側のコードが処理され、その後、コードは未処理の形式で Web ブラウザに送信されることはありません。

Visual Studio .NET を使用して ASP.NET をデバッグするときに発生する現象

Microsoft Visual Studio .NET で ASP.NET アプリケーションをデバッグするときに、IDE に次のエラー メッセージが表示される場合があります。
プロジェクトを実行しようとしているときにエラーが発生しました : Web サーバーでデバッグを開始できません。サーバーは ASP.NET や ATL Server のアプリケーションのデバッグをサポートしていません。セットアップを実行して Visual Studio .NET サーバー コンポーネントをインストールしてください。既にセットアップが実行されている場合は、有効な URL が指定されていることを確認してください。

また、オンライン ドキュメントで、ASP.NET と ATL Server デバッグの項を参照することもできます。次回からこのプロジェクトの ASP.NET ページのデバッグを無効にしますか?

原因

Microsoft .NET Framework SDK (ソフトウェア開発キット) または Microsoft Visual Studio .NET をインストールすると、Microsoft インターネット インフォメーション サービス (IIS) のマッピングが作成されて、ASP.NET 用の新しいファイル名の拡張子と新しい設定が関連付けられます。

以下のいずれかの条件に該当する場合、新しい設定は適切に行われません。
  • .NET Framework SDK または Visual Studio .NET のセットアップを実行したときに、IIS がインストールされていませんでした。
  • .NET Framework SDK のセットアップまたは Visual Studio .NET のセットアップを実行した後、IIS を削除して再インストールしました。

解決方法

この問題を解決するには、ASP.NET 用のファイル名の拡張子が適切に関連付けられるように、IIS マッピングを修復します。IIS マッピングを ASP.NET 用に修復するには、次の 2 つの方法があります。

IIS マッピングを ASP.NET 用に修復するには、以下の手順に従って Aspnet_regiis.exe ユーティリティを実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
  2. cmd と入力し、[OK] をクリックします。
  3. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。
    "\WindowsFolder\Microsoft.NET\Framework\VersionNumber\aspnet_regiis.exe" -i
    : WindowsFolder は、オペレーティング システムがインストールされているディレクトリ名に置き換えます。VersionNumber は、使用しているコンピュータにインストールされている .NET Framework のバージョンに置き換えます。
IIS マッピングを ASP.NET 用に修復するには、以下の手順に従って Aspnet_isapi.dll を登録する必要があります。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
  2. regsvr32 WindowsFolder\Microsoft.NET\Framework\VersionNumber\aspnet_isapi.dll と入力し、[OK] をクリックします。Regsvr32 から登録の結果が返されます。

状況

この動作は仕様です。

詳細

現象の再現手順

この資料に記載されている問題が発生するかどうかを確認するには、以下の手順を実行します。このテストでは、この問題に関連する一般的な現象を確認します。IIS アプリケーションのマッピング処理に関する知識がある場合は、この資料の「IIS アプリケーション マッピングの検証方法」に記載されている手順を実行して、Web サーバーの構成を確認することもできます。
  1. Visual Studio .NET を使用して ASP.NET Web アプリケーションを作成するには、以下の手順を実行します。
    1. Microsoft Visual Studio .NET を起動します。
    2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
    3. [新しいプロジェクト] ダイアログ ボックスで、[プロジェクトの種類] ボックスの一覧の [Visual C# プロジェクト] または [Visual Basic プロジェクト] のいずれかをクリックし、[テンプレート] ボックスの一覧の [ASP.NET Web アプリケーション] をクリックします。
    4. [場所] ボックスのデフォルト名 [WebApplication#] を MyWebApp に変更します。ローカル サーバーを使用している場合、サーバー名の部分は "http://localhost" のままでかまいません。その場合、[場所] ボックスには次のように表示されます。
      http://localhost/MyWebApp
  2. ソリューション エクスプローラでプロジェクト ノードを右クリックし、[追加] をポイントして、[Web フォームの追加] をクリックします。Web フォームに MappingsTest.aspx という名前を付け、[開く] をクリックします。
  3. エディタで .aspx ページを右クリックし、[コードの表示] をクリックします。Page_Load イベント ハンドラに次のコードを追加します。

    Visual C# .NET
    private void Page_Load(object sender, System.EventArgs e)
    {
    	Response.Write("This code was executed");
    }
    						
    Visual Basic .NET
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Response.Write("This code was executed")
    End Sub
    					
  4. [ファイル] メニューの [すべてを保存] をクリックし、Web フォームおよびその他の関連するプロジェクト ファイルを保存します。
  5. Visual Studio .NET IDE の [ビルド] メニューの [ソリューションのビルド] をクリックします。
  6. .aspx ページを右クリックし、[ブラウザで表示] をクリックします。
  7. マッピングが正しい場合は、ブラウザに "This code was executed" というメッセージが表示されます。マッピングが正しくない場合は、以下のいずれかの現象が発生します。
    • ブラウザに空白のページが表示されます。
    • .aspx ページをダウンロードするかどうかを確認するメッセージが表示されます。
    この現象は、サーバー側のコードが期待どおりに処理または実行されないために発生します。いずれの場合でも、未処理のソース コードが表示されます。空白のページが表示される場合、ブラウザでページを右クリックし、[ソースの表示] をクリックすると、サーバー側のコードが未処理の状態で表示されます。たとえば、Visual C# ASP.NET Web フォームでは、@ Page ディレクティブが次のように表示されます。
    <%@ Page language="c#" Codebehind="MappingsTest.aspx.cs" AutoEventWireup="false" Inherits="MyWebApp.MappingsTest" %>
    					

IIS アプリケーション マッピングの検証方法

アプリケーションのマッピングが正しいかどうかを確認するには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[プログラム]、[管理ツール] を順にポイントして、[インターネット サービス マネージャ] (または [インターネット インフォメーション サービス (IIS) マネージャ]) をクリックします。
  2. ローカル ホスト (コンピュータ名) に対応するノードを展開し、[既定の Web サイト] を展開します。
  3. Web アプリケーション ディレクトリを右クリックし、[プロパティ] をクリックします。
  4. [仮想ディレクトリ] (または [ディレクトリ]) タブで、[アプリケーションの設定] の [構成] をクリックします。
  5. [アプリケーションのマッピング] (または [マッピング]) タブをクリックします。
  6. [アプリケーションのマッピング] タブの [アプリケーションのマッピング] (または [マッピング] タブの [アプリケーションの拡張子]) で .aspx 拡張子が以下の DLL (ダイナミック リンク ライブラリ) にマップされているかどうかを確認します。
    C:\WindowsFolder\Microsoft.Net\Framework\VersionNumber\aspnet_isapi.dll
    : WindowsFolder は、オペレーティング システムがインストールされているディレクトリ名に置き換えます。VersionNumber は、使用しているコンピュータにインストールされている .NET Framework のバージョンに置き換えます。
  7. アプリケーションのマッピング エントリが見つからない場合は、この資料の「解決方法」に記載されている手順を実行します。

関連情報

ASP.NET 用に IIS マッピングを修復する方法は、「サポート技術情報」 (Microsoft Knowledge Base) の資料 306005 からの引用です。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
306005 IIS を削除して再インストールした後、IIS マッピングを修復する方法
以下の資料では、この資料に記載されているデバッグ時の現象について詳細に説明しています。
318465 [PRB] ASP.NET Web アプリケーションをデバッグできない

プロパティ

文書番号: 325093 - 最終更新日: 2007年4月23日 - リビジョン: 4.3
この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 5.0
キーワード:?
kbconfig kbdebug kbprb kbsetup kbwebforms KB325093
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com