別サーバにアップロードしたら実行時エラー
テストサーバで動いていたASP.NETで作成した
ソースを本番サーバへアップロードしたところ実行時エラーとなった。
「アプリケーションでサーバーエラーが発生しました」
「ランタイムエラー」
説明:サーバーでアプリケーションエラーが発生しました。 このアプリケーションの現在のカスタムエラー設定では、セキュリティ上の理由により、アプリケーションエラーの詳細をリモート表示できません。ローカルサーバー コンピュータで実行されているブラウザで表示することはできます。詳細:このエラーメッセージの詳細をリモートコンピュータで表示できるようにするには、現在のWebアプリケーションのルートディレクトリにある"Web.config"構成ファイル内に、
タグを作成してください。その後で、この タグで"mode"属性を"off"に設定してください。
言われたとおりに行っても表示されない。
というかサーバ側のブラウザで表示させてもNG。普通ならでるのにー。
で、色々な環境、設定でテストを行ってようやく原因が判明。
Microsoft .NET Framework 1.1 Service Pack 1 の不具合 http://support.microsoft.com/default.aspx/kb/317955/JA/?
上を要約すると、
ASP.NETで構築したシステムについてディレクトリ名の長さが8文字以上の場合、 システム階層内のディレクトリ全てに対して特定のアクセス許可を持っている必要がある。
ってことだ。
で、確かにディレクトリ名は8文字以上だった。
そしてセキュリティをみてみると1名のユーザが一部ディレクトリにしかアクセス権がなかった。
そこで全てのアクセス権を与えてみたところ正常に動作。
うーん、なんともいえないバグですなぁ。


