アーカイブ

Archive for 2008年3月

VISTAとVS2008とTemporary ASP.NET Files

2008年3月28日 コメントを残す

ASP.NETを実行するうえで重要なフォルダにTemporary ASP.NET Filesフォルダがあります。
Ver 2.0だと通常以下に存在しています。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files

ここには、実行時にASP.NETが生成したdllファイルがキャッシュされています。
一度実行されたWebアプリケーションはそれ以降ここにあるdllファイルを利用することになっています。

で、実はデバッグ実行した場合、このフォルダにASP.NETが自動的に生成したソースコードやそれをコンパイルするときのコンパイルオプション等も保存されるのです。
.aspxファイルがどんなソースコードに変換されているのかをみたかったら、このフォルダを見ればよいのです。

VS2005では開発時もこのTemporary ASP.NET Filesフォルダを利用してました。
そのつもりで久しぶりにソースコードを確認したくてこのフォルダを覗いたのですが。。。
なんと、VS2008を利用しているとこのフォルダ内にソースコードのみならずdllファイルも生成されない!!!
ASP.NETの仕組みから考えてそんなことありえないはずなのに、、、

ということでしばらくいろんなところを探してしまいました。

結果として、VS2008は以下のフォルダを利用しています。

C:\Users\ユーザ名\AppData\Local\Temp\Temporary ASP.NET Files

これ、たぶんUACの問題を回避するためですね。
VISTA上でVS2005を利用していると、管理者として実行しないとデバッグ時のブレークポイントが効かないという問題があります。
Windowsフォルダ以下とかがUACで保護されてしまうため、このような問題がおきるのでしょうね。
これを回避するためVS2008ではユーザデータの中のフォルダを利用するようにしたのでしょう。

なお、上記のフォルダですがディスクのクリーンアップを実行することできれいになります。
ときどきディスクのクリーンアップを実行してあげるとよいようですね。

カテゴリー:.NET, ASP.NET 備忘録