Zunächst habe ich eine Grundannahme von Visual Studio Kompilieren von Dingen mit seinen Standard. * Proj-Dateien, die, wenn Sie die gleiche Lösung zweimal hintereinander erstellen, erkennt, dass nichts geändert hat und scheint durch die Lösung Build zu fliegen. Bedeutet dies, dass nichts in einem Projekt geändert wurde und keine neue DLL-Ausgabe erstellt werden muss?Weiß MSBuild, ob ein Projekt neu kompiliert werden muss?
Wenn das der Fall ist, habe ich eine Frage. Angenommen, ich habe eine Lösung mit mehreren Klassenbibliotheken und einer MSBuild-Task in jedem Projekt, die die Version des Builds automatisch erhöht, indem AssemblyInfo.cs geändert wird. Ding ist (wenn meine vorherige Annahme richtig ist) es tut dies jedes Mal und löst eine neue Rekonstruktion jeder Klassenbibliothek aus. Gibt es in MSBuild ein Ziel oder eine Eigenschaft, die feststellen kann, ob das Projekt neu kompiliert werden muss, und wenn ja, wie kann ich meinen Versionsschritt überspringen?
Ich frage, weil ich sagen, ich aktualisiere Projekt A, aber nicht Projekt B in einer Lösung. Wenn ich einen Build für die Lösung ausführe, möchte ich, dass die Version in Projekt A aktualisiert wird, aber da sich Projekt B nicht geändert hat, möchte ich es in Ruhe lassen.