Visual Studioの公開オプションは、ASP.NET Webアプリケーションの事前コンパイルと見なされますか?

StackOverflow https://stackoverflow.com/questions/5355015

質問

サイトが「事前にコンパイルされている」と見なされたときに理解するのに苦労しています。私が読んだものを理解しているように、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を使用するのに役立ちますか?

NGENユーティリティに関するMicrosoftドキュメント

ngenを使用する潜在的な落とし穴

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top