2008年2月18日月曜日

ASP.NET が動かない

以前 ASP.NET プロジェクトで発生した奇妙な現象と、その対処法をメモしておきます。

現象:
VisualStudio2005の開発環境下ではテストサーバで正しく動作するのに、実際に XP Pro SP2 上の IIS 5.1 に発行して当該 .aspx を実行すると以下のようなエラーが発生する。

The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.

--------------------------------------------------------------------------------

A name was started with an invalid character. Error processing resource 'http://localhost/IssueTracker/Default.aspx'. Line...
...

原因:

何らかの理由で ASP.NET のバージョンが正しく IIS メタデータに登録されていなかった。恐らく VS2005 のインストールと IIS 5.1 のインストール順序による不整合。

対処法:

  1. [Control Panel] - [Administrative Tools] - [Internet Information Services] で IIS 管理コンソールを開き、問題の発生する .aspx ファイルの格納されている仮想フォルダを選択し、右クリックする。当該フォルダのプロパティウィンドウが表示されるので、ASP.NET タブを選択する。

  2. 右のように、ASP.NET Version 欄が空白になっていたので、適切なバージョンをコンボボックスから選択する。

通常はこれで動作するようになるはずだが、もし別のエラー (Failed to access IIS metabase.) が表示されるようなら、IIS のメタベースにも不整合が生じているので、以下の手順でメタベースの再構築を行う。
  1. 上記で設定したバージョンの .NET Framework フォルダ (%systemroot%\Microsoft.NET\Framework\<versionNumber>) に移動する。

  2. 当該フォルダにある aspnet_regiis.exe を、以下のように実行する。

   aspnet_regiis.exe -ga ASPINET   

以上で、当該 .aspx は動作するようになるはずです。

参考リンク:
A name was started with an invalid character
ローカルIISWebサイトを実行したら"IISメタベースにアクセスできませんでした”というエラーが表示されます。

0 件のコメント: