ビルド プロセス中にaspnet_compiler.exe
、Web サイトに対して実行して、ASP.NET/MVC のすべての遅延バインディングが実際にビルドされることを確認します (ASP.NET については何も知りませんが、実行時にエラーが見つからないようにするためにこれが必要であると確信しています)。
私たちのサイトはサイズがかなり大きく、数百のページ/ビュー/コントロールなどがあります。ただし、所要時間は 10 ~ 15 分の範囲で長すぎるようです (参考までに、これは約 40 プロジェクトのソリューション全体をコンパイルするのにかかる時間よりも長く、2 つの Web サイト プロジェクトのみをプリコンパイルしています)。
4GB RAM と WD Velociraptor 10,000rpm ハードディスクを搭載した最新のクアッド コア Intel チップで実行しているため、ハードウェアが問題であるとは思えません。奇妙な点の 1 つは、EXE が CPU をあまり使用していないよう (1 ~ 5%) であり、I/O も大量に使用していないように見えることです。
それで...これは既知の問題ですか?なぜそんなに遅いのですか?そして、それをスピードアップする方法はありますか?
注:人々が回答したいくつかのことを明確にするために、私は Visual Studio 内でのコードのコンパイルについて話しているのではありません。既に Web アプリケーション プロジェクトを使用しており、それらのコンパイルの速度は問題ではありません。問題は、これらのプロジェクトが開発ビルド スクリプトの一部として既にコンパイルされた後のサイトの事前コンパイルです(詳細については、この MSDN ページを参照してください)。ファイルをターゲットディレクトリにコピーするのではなく、インプレースで事前コンパイルを実行しています。