私のソリューションには15のプロジェクトがあります。もし私がそれを例えば5に減らそうとすれば、スピードが上がる可能性は非常に高いですか?それとも、同じ数のプロジェクトを持っていますが、複数のソリューションに移行できますか?少ないプロジェクトでビルド時間を短縮できますか?
具体的には、ASP.net Webサイトの起動について話しています。
私のソリューションには15のプロジェクトがあります。もし私がそれを例えば5に減らそうとすれば、スピードが上がる可能性は非常に高いですか?それとも、同じ数のプロジェクトを持っていますが、複数のソリューションに移行できますか?少ないプロジェクトでビルド時間を短縮できますか?
具体的には、ASP.net Webサイトの起動について話しています。
まあ、それに依存します。ソリューション全体を構築するのではなく、1つのプロジェクトを作成するだけであれば問題ありません。しかし、明らかに15プロジェクトのソリューションがある場合、10プロジェクトのソリューションよりもソリューションを構築するのに時間がかかります。本当にあなたの関心事は何ですか? y個のプロジェクトを構築するにはx時間かかるので、それを変更するものは何もありません。
あなた自身でこの質問に答える方法があります。
git branch
オリジナルソリューションからすべてのプロジェクトをまとめて圧縮します。 &のドロップフォルダを1つのプロジェクトにドラッグするだけで十分です。あるプロジェクトにはコアコードがあり、Azureサービスファブリックサービス(各サービスには独自のプロジェクトが必要)やTestプロジェクトなど、特別なプロジェクトタイプを必要とするプロジェクトのためにプロジェクトを分離する必要があります。
ここで、コマンドラインを開いて、ソリューションのディレクトリに移動します。 timeit
は、コマンドを実行するためのWindowsコマンドラインツールです。hereを入手できます。 timeit msbuild MySolution.sln
を使用すると、ソリューションのビルド時間を測定できます。ソリューションを最初にきれいにしてください(VSは簡単ですが、おそらくmsbuildもそうすることができます)。 timeit
が機能しない場合は、PowerShellのMeasure-Command
でも同じことができます。
元のプロジェクトブランチに戻り、同じコマンド(timeit msbuild MySolution.sln
)を実行します。違いを比較し、私たちにお知らせください!私は自分自身の答えに興味がありますが、まだこのような良い実験を行う時間はありません。
遅い部分は、IIS Expressの起動とDLLのロードです。 –
怠惰な答えのビット。それについてもっと科学的にしましょう。 – Dagrooms