2012-09-05 17 views
5

私は約100のプロジェクトからなるVisual Studioソリューションを持っています。それらのほとんどは依存関係の階層を形成します。現在、プロジェクトの.csを1つ変更してビルドすると、変更されているかどうかにかかわらず、すべての依存プロジェクトもビルドされます。 Visual Studioに変更されたプロジェクトのみをビルドさせる方法はありますか?全体を再構築して少し変更を加えるたびに分を浪費しています。それは大きな時間を追加します!Visual Studioのビルド時間を短縮する

+0

何かを壊していないかどうかをチェックする必要があるので、彼は従属プロジェクトを再構築する必要があります。あなたがSSDを持っているかどうかはわかりませんが、SSD(ビルド時間が大幅に短縮されています)を手伝ってくれました。 – Styxxy

+0

私はデバッグで遭遇する問題がそのことを非現実的なものにすると確信しています。 – Stuporman

+1

ソリューションに100以上のプロジェクトがあり、長いビルドタイムに変わる変化は設計上/組織上の問題です。どの時点であなたはカードの家の基礎を変えるのをやめますか?確かに、1000ポイントを引いたものがありますか?とにかくプログラマのQ + Aサイトに適合するものはありません。ツールを責めることはできません。あなたが求めていることだけです。あなたの嫌悪感をチームメンバーや建築家に伝えてください。私たちはそれを手伝ってはいけません。私たちは皆さんのようにそれについて黙っているわけではありません。 –

答えて

4

いいえ、これを行うには良い方法はありません。一部インクリメンタル建物が発生することがあります(Visual Studio 2010以降)が、保証はありません。

成熟したプロジェクトをコンパイルして、不安定な(現在開発中の)プロジェクトから参照してください。適切な単体テストを行っているなら、これは大きな問題ではありません。分割統治;依存関係を最初に終えて安定させ、アセンブリにコミットします。

2

プロジェクトの数を減らしてください。

各プロジェクトでは、のという単位のDLLが生成されます。 This is normally not needed

論理的にコードを整理する必要がある場合は、プロジェクト内でフォルダを使用できます。

また、プロジェクト参照の代わりに、構築されたDLLを参照してください。


は、この提案が働く理由:

  • 未満のDLLが生成されます。
  • これらのDLLへの参照が少ないため、コピーするDLLの数を減らす必要があります。
  • 他の多くのプロジェクトで参照されているプロジェクトは、参照プロジェクトごとに再コンパイルされます。 DLLをプロジェクト参照の代わりに使用すると、再コンパイルは行われません。
+0

これにより、同じコードまたは複数のコードを再構築する必要があるため、ビルドの速度が遅くなります。 – ssube

+0

@peachykeen - 試してみてください。あなたは驚くでしょう。少ないプロジェクト==少ないDLL。より少ないDLL ==より少ないコピーと少ない再コンパイル。 – Oded

+0

私は、大規模プロジェクトが少なく、小規模プロジェクトも少ないです。私はそうではありませんでした。問題が再構築する必要があるコードの量である場合は役に立ちません。ファイルのコピーはこの種の問題を引き起こすほどコストがかかりません。大規模なプロジェクトは(常に)エスケープしないカスケード再コンパイルです。 – ssube

関連する問題