現象
ブラウザからウェブサービスにアクセスすると、以下のメッセージが表示される。
'/hogehoge' アプリケーションでサーバー エラーが発生しました。 IIS メタベースにアクセスできませんでした。 説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 例外の詳細: System.Web.Hosting.HostingEnvironmentException: IIS メタベースにアクセスできませんでした。 ASP.NET を実行するのに使用されるプロセス アカウントには IIS メタベース (例: IIS://サーバー名/W3SVC) への読み取りアクセスが必要です。メタベースのアクセス許可の変更に関する詳細は、http://support.microsoft.com/?kbid=267904 を参照してください。 ソース エラー: 現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。 スタック トレース: [HostingEnvironmentException: IIS メタベースにアクセスできませんでした。] System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +3591442 System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID, VirtualPath vpath) +9 System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +169 System.Web.CachedPathData.GetConfigPathData(String configPath) +389 System.Web.CachedPathData.GetConfigPathData(String configPath) +243 System.Web.CachedPathData.GetApplicationPathData() +68 System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +3536567 System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +189 バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.1433; ASP.NET バージョン:2.0.50727.1433
環境
- Microsoft Windows Server 2003 Standard Edition Service Pack 2
- Internet Information Services 6.0
原因
.NET Framework をインストールした後に IIS をインストールすると、.NET Framework の実行権限が設定されないため。
手順
- [スタート]?[コントロールパネル]?[プログラムの追加と削除]から、IIS と .NET Framework をアンインストールする。
- IIS をインストールする。
- .NET Framework をインストールする。
aspnet_regiis.exe を使う方法があるようですが、試してない。