展開プロジェクトを使用して、ASP.net Web アプリケーションを展開しています。deploy プロジェクトをビルドすると、すべての .compiled ファイルが再作成されます。
それらを運用 Web サーバーに FTP する必要がありますか?
小さな変更を行った場合、すべての Web サイトを再度コピーする必要がありますか?
展開プロジェクトを使用して、ASP.net Web アプリケーションを展開しています。deploy プロジェクトをビルドすると、すべての .compiled ファイルが再作成されます。
それらを運用 Web サーバーに FTP する必要がありますか?
小さな変更を行った場合、すべての Web サイトを再度コピーする必要がありますか?
私自身の調査によると、.compiled ファイルは運用サーバーにコピーする必要がありますが、毎回コピーする必要はありません。
Rick Strahlの優れたブログから:
マージ ユーティリティからの出力は、すべてのマークアップと CodeBeside コードを 1 つのアセンブリに結合できますが、ASP.NET がページ要求をアセンブリに含まれる特定のクラスに関連付けるために必要な .compiled ファイルが残ることになります。ただし、生成されるファイル名は固定されているため、ページを追加または削除しない限り、これらのファイルを更新する必要はありません。つまり、ほとんどの場合、単一のアセンブリを更新するだけで Web を更新できます。
ソース
オプションを指定してaspnet_mergeツールを使用すると、.compiled
ファイルを削除できます。-r
メイン コード アセンブリ (App_Code フォルダー内のコード) の .compiled ファイルを削除します。アプリケーションにメイン コード アセンブリへの明示的な型参照が含まれている場合は、このオプションを使用しないでください。
.compiled ファイルについて特別なことは何もありません。これは実際のファイルの末尾に .compiled 拡張子が付いているだけなので、誤ってダブルクリックしても何も起こりません。
しかし、.compiled ファイルが表示されている場合は、アプリが正式にインストールされることを想定した方法でアプリを公開していることになります。実稼働環境にコピーするだけでは十分ではありません。インストーラー プログラムも実行する必要があります。これがすでに展開されていることがわかっているアプリである場合、それは少し不要に思えます。