ASP.NETアーカイブ: とあるプログラマーの平凡な日記

2007年3月 2日

別サーバにアップロードしたら実行時エラー

テストサーバで動いていた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名のユーザが一部ディレクトリにしかアクセス権がなかった。

そこで全てのアクセス権を与えてみたところ正常に動作。
うーん、なんともいえないバグですなぁ。

2006年7月27日

Visual Studio .NET

仕事メインはASP(Active Server Pages)でエディタでゴリゴリと書いている。ツールとかは一切なし。

今回、.NETで開発しなくちゃいけなくてそもそも「フレームワークって?」ってなぐらいの知識のなさなので勉強することに。フレームワークは別仕事でも関係するのである意味一石二鳥。

まずはフレームワークの導入をせねばならぬ。今回使うVisual Studio2005(Express Edition)は2.0を使う。
でもすでにサーバは1.1が入っている。これ、うちのチームのものではなくて同じ課のところのもの。

一応複数のバージョンをインストールできて作成されたバージョン(の指定をしていれば)で動くらしいのだがなんとも怖いので開発機に入れて検証することに。

・・・私、検証作業ってほとんどやったことがないしそれに苦手なのですが・・・orz
誰かやってくれないかなぁ(^^;