ページに 3 つのコンポーネント (*.designer、*.aspx、*.cs) があることに気付いた場合、Microsoft は「事前コンパイル」という考えを実際には持っていません。*.cs はすべて *.dll にコンパイルして、Web サイトに展開する必要があります。従来、exe と dll の 2 種類の実行可能ファイルがあります。Asp.Net Web サイトは、サーバー上で実行されるすべての分離コードの dll にコンパイルされます。Microsoft には、dll を「半分」コンパイルしてから、変更していない残りの半分とマージする方法がありません。
ウェブサイトのコンパイルとデプロイに時間がかかる場合。コードの問題よりもアーキテクチャの問題の方が多いことをお勧めします。私が働いているメイン Web サイトは 3,000,000 行以上のコードで構成されており、ユーザーが必要とするすべてのことを実行しています。デプロイに 1 時間もかかりません。ただし、私たちが行ったことは、ビジネス ロジックを 100 以上の dll に分割し、Web サイト プロジェクト自体は、ビジネス ロジックへのフローを駆動するための aspx と必要最小限のコード ビハインドです。これにより、新しい機能をサポートするために変更を加えて x 個の dll を変更できます。変更されたものだけを毎回 100 個すべて展開する必要はありません。これが dll の性質です。ビジネス ロジックが Web サイト プロジェクトに 100% 含まれている場合、コンパイル、
コードを dll にリファクタリングすることを検討したいと考えています。ASPX/ASP.NET ソリューションに慣れていない場合の別のオプションは、ASP/MVC.NET ソリューションを検討することです。サイトのリファクタリングを検討します。それだけの時間がかかる場合、データ アクセスを別の dll に分割できたとしても、Web サイトを変更するたびに、データ アクセスを処理する dll を常にコンパイルして展開する必要はありません。データ アクセス層も変更しました。