Visual Studioの公開オプションは、ASP.NET Webアプリケーションの事前コンパイルと見なされますか?
-
27-10-2019 - |
質問
サイトが「事前にコンパイルされている」と見なされたときに理解するのに苦労しています。私が読んだものを理解しているように、Visual Studio内からパブリッシュ展開パッケージオプションを使用する場合、それは事前コンパイルですが、Xcopyのようなものを使用するだけでは、事前コンパイルされていません。あれは正しいですか?
解決
ASP.NETのWebサイトプロジェクトには、ASPX、ASPX.CS、ASCX、ASCX.CSなどのすべてのファイルがそのまま生産WebサーバーにコピーされるXcopy展開のオプションがあります。 ASP.NETランタイムは、最初のリクエストを受信したときにサイトをコンパイルします。フォルダーc: windows microsoft.net framework v companial asp.netファイルを確認すると、出力が表示されます。これは明らかに展開にとって非常に簡単です。私たちがしなければならないのは、ファイルをWebサーバーにコピーすることだけです。ただし、最初の訪問者は、サイトが初めてコンパイルされたときに価格を支払います。パブリッシュオプションは、展開前にこの動作を行います。 Webサイトプロジェクトをコンパイルし、実行する準備ができているアセンブリを作成します。パブリッシュには、ASPXファイルをそのまま残すオプションがあり、それらを変更できるようにします。どちらの場合も、アセンブリにコンパイルされているため、.csファイルはありません。小切手 ウォークスルー:Webサイトの公開 詳細については。
Hth
他のヒント
WebコードのMSIL DLLがあるという意味で「コンパイル」されます。ただし、JITコンピレーションが必要です。このウォームアップ時間を防ぐために.NET 2.0以降を使用している場合は、NGENユーティリティを使用する必要があります。 NGENは、アプリケーションの最初の「起動」時間を排除するのにのみ役立ちます。 jit'edコードはngen'dコードと同期しなくなる可能性があるため、維持が難しくなります。私のエンタープライズ環境では、これらの潜在的な落とし穴のためにNGENを使用しないことを選択しました。
以下のリンクを参照してください。
ASP.NETアプリケーションにNGENを使用するのに役立ちますか?