5

複数のプロジェクトを含むソリューションがあります。Ctrlそのうちの 1 つのコードのみを変更していますが、 + Shift+を押すたびにB、Visual Studio は他のすべてを再構築します。

他のプロジェクトをビルドしたいので、これでいいです。よくないのは、通常、何もすることがないと見なされることです。どこかに不安定な依存関係があるため、これは機能しません。

依存関係ツリーを調査し、欠落しているファイルや古いファイルを教えて停止できるようにするツールまたはマクロ (またはスイッチ) はありますか?

(たとえば) すべてのプロジェクト ファイルに触れることで、この特定のケースを解決できることを知っています。

残念ながら、ファイルが出力ファイルを生成するように構成されている場合に、このような状況をよく見てきました (たとえば、IDL ファイルがタイプライブラリを出力するように構成されていますが、「ライブラリ」ブロックが含まれていないため、TLB は作成されません)。 )。

これはすべてのプロジェクト ファイルに触れても解決しないので、個人用ツールボックスに追加できる、より一般的なものを探しています。依存関係があるか、プロジェクトが誤って構成されていて、決して生成されない出力ファイルが想定されているためです。

4

7 に答える 7

1

[オプション] / [プロジェクトとソリューション] / [ビルドと実行] で、MSBuild プロジェクトのビルド出力の詳細度を [詳細] に上げます。すべてのプロジェクトを再構築する理由がわかるはずです。

于 2008-10-15T15:11:05.833 に答える
1

私の理解が正しければ、プロジェクトのすべてのファイルに触れることでこれを解決できるかもしれません。将来の最終変更時刻を持つソース ファイルが原因である可能性があります。

編集:

(たとえば) すべてのプロジェクト ファイルに触れることで、この特定のケースを解決できることはわかっていますが、一般的なケースで、将来使用できるトリックの個人的なボックスに何かを追加したいと思います。

私は混乱しています - この問題の「一般的なケース」は何ですか?

于 2008-10-15T14:31:43.713 に答える
0

[ツール] > [オプション] > [プロジェクトとソリューション] を確認し、オプションがすべてのソリューションではなく、スタートアップ プロジェクトと依存関係のみをビルドするように設定されているかどうかを確認してください。

または、ctrl+shirt+b を使用する代わりに、ビルドするプロジェクトで F6 を押すだけです:)

于 2008-10-15T14:31:00.563 に答える
0

Shift+F6 を使用して、現在のプロジェクトだけをビルドできます。

于 2008-10-15T14:32:58.547 に答える
0

「これを解決するツールはありますか?」という質問には直接答えていませんが、SysInternals Process Monitor を使用して特定の問題を発見しました。

プロジェクトは Visual Studio Team Edition を必要とする /analyze で構成されましたが、この PC のバージョンは Visual Studio Professional であり、サポートされていません。残念ながら、Visual Studio にはバグがあり、作成する方法がなくても .pchast ファイルを作成する必要があると考えられているようです。Connectでこれを提起しました。

/analyze がオンになっている場合、ビルドの最後に空の .pcast ファイルを作成するだけの Visual Studio Professional 用のマクロを作成できると思います...

于 2008-10-15T20:52:38.810 に答える
0

私が見つけたわけではありません。プロジェクトが頻繁に変更されないことがわかっている場合は、構成マネージャーにそのプロジェクトをビルドしないように指示できます。(ソリューションを右クリックし、構成管理を選択します)

于 2008-10-15T14:26:57.373 に答える
0

私の知る限り、ctrl + shift + b はデフォルトで BuildSolution にバインドされているため、すべてのプロジェクトがビルドされています。プロジェクトを右クリックしてビルドを押す以外に何を使用できるかはよくわかりません:)

于 2008-10-15T14:26:59.230 に答える