aspxファイルの配置がないことについて、私のいくつかの探求の心得

2528 ワード

先日見た
ASPXファイル配置なし(続き)急にこの機能がいいと感じて、何日か探索を始めました.
aspxファイルのない配置を実現するには、ツール(The ASP)を使用する必要があります.NET Compilation tool (Aspnet_compiler.exe).
MSDNによると、このツールは.Net 2.0に追加された新しいツール.
aspnet_compiler  [-?]
                 [-m metabasePath | -v virtualPath [-p physicalPath]]
                 [[-u] [-f] [-d] targetDir]
                 [-c]
                 [-errorstack]
                 [-fixednames]
                 [-nologo]
                 [-keyfile file | -keycontainer container [-aptca] [-delaysign]]
このツールのパラメータは上のもので、SDK Command Promptで呼び出すことができます.これはcmdより便利です.主にディレクトリに入る必要はありません.
-?助けを見て、これはみんな知っています.
-mは、特定のローカルディレクトリを指定します.
-vは仮想ディレクトリを指定します
-pは物理ディレクトリを指定します
ここではこの3つを使いますが、他には強い名前でパブリッシュするなどの機能があります.
私がコンパイルするコマンドは
aspnet_compiler -v /test -p g:\website g:\website1
私はg:websiteの中のweb appをg:website 1にコンパイルしました.なぜ-vで仮想ディレクトリを指定しなければならないのか分かりません.私のコンピュータにはtestの仮想ディレクトリはありませんが、コンパイルに成功しました.どのお兄さんが説明してくれますか.仮想ディレクトリを指定する目的はコンパイルのために使われているのではないかと思います.
コンパイル後、「This is a marker file generated by the precompilation tool,and should not be deleted!」元のaspxと同名のファイルがいくつかあります.
またbinディレクトリにdllファイルと元のaspxのファイル項目に対応するcompiledをいくつか生成します.Net Reflectorが開くと中間ファイルではないことがわかり、手帳で開くとxml形式のタグファイルで、対応するページのファイル名やバックグラウンドのファイル名など、元の情報が記載されています.
ここでは、以前コンパイルしたときに-vで指定した仮想ディレクトリが表示されます.本当に理解できません.この問題について.
リリース時に空のaspxやcompiledを削除しても問題はありません.web appはすべて正常です.
この機能はまだ良くて、特に私たちのソースコードを保護する方面で、しかしやはりいくつかの問題があって、もしプログラムがいくつかの第三者のコントロールに参加したら、多くの問題が発生するかもしれなくて、私のこれは問題が発生しました.
コンパイル後の元のweb.configはまだありますが、内容もあります.
vs 2005のリリースでは
build-publishはバックグラウンドをコンパイルしただけだ.cs .vbのファイル、aspxファイルの中の内容はただいくつかの<%@page%>の中のいくつかの引用を書き直しただけです.
個人的には上のツールでこれらのaspxファイルの中のものを隠すことができると思いますが、aspxの中にも確かに価値のあるものはありません.コントロールの標識です.外観をcssやthemeでやれば、のものしか見えません.そして、クライアントが閲覧してもhtmlコードしか見えません.
しかし、コードを分割するのではなくaspxページの内部にコードを書くのが好きな人もいれば、このツールは役に立ちます.
その実用vs 2005のpublishはリリースを処理するといい感じです.
このツールの良い点は、1つのDllと他のリソースファイルだけをパブリッシュできることです.多くのファイルを一度に配置する必要はありません.しかし、一般的な導入はディレクトリ全体のコピーですね.
マイクロソフトがこのことをしたのはどういう意味なのか分からない.
私はこの道具について他の問題を知りたいです.エビたちがエビの米たちに助けてほしいです.