ASP.NET2.0の事前コンパイル方法

| | コメント(0)

VisualWebDeveloperを使うと、ビルドしても実行時コンパイルでしかない。VS2003ではビルドすればDLLが生成され、配布時にはそれを配置しておけばよかったのだが、はてさて。まさか実行時コンパイルしかできないなんて寂しい仕様なわけはあるまいに。

で、色々調べてみますと、どうやらコマンドラインでコンパイルするらしい。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe

環境によってパスは違うかもしれないが、たいていはここでしょう。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_compiler -v /hoge -p C:\Inetpub\wwwroot\WebSite1 C:\Inetpub\wwwroot\Bin

-vが、仮想ディレクトリの指定
-pが、ソースのあるディレクトリとコンパイルしたプロジェクトを出力するディレクトリ

「hoge」という仮想ディレクトリを作成しておきます。「C:\Inetpub\wwwroot\WebSite1」にソースが配置されています。僕の場合は、「hoge」のローカルパスが「C:\Inetpub\wwwroot\WebSite1」になっているということです。

「C:\Inetpub\wwwroot\Bin」というフォルダを作成しておきます。これはもしかするとフォルダが存在しない場合は自動で生成してくれるかもしれません。

で、上記コマンドをコマンドプロンプトから実行すると、「C:\Inetpub\wwwroot\Bin」にDLLとその他もろもろが生成されるという仕組みです。

実際にやってみればわかると思いますが、VS2003の時はASPXファイルだけは残ったもんですが、ASP.NET2.0になると、ASPXファイルは残骸(マーカーファイルというらしい)のみです。ASPXまでコンパイルされてしまうので、デザイン変更だけでも再コンパイルが必要という、JavaServlet並みのメンテナンス性の悪さです。

製品版では改善されているのでしょうか…。

カテゴリ

コメントする

このブログ記事について

このページは、ハセテツが2006年1月26日 18:39に書いたブログ記事です。

ひとつ前のブログ記事は「.NET2.0でのデータベースコネクション」です。

次のブログ記事は「ASP.NETでJavaScriptのconfirmを表示し、処理を分岐させる方法」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。