Liste der Dateien von denen der Build abhängt
-
Hallo Visual-Studio-Experten (C++),
wenn ich beim VS-Studio (z.B. Version 8 oder 10) einen Build (keinen Re-Build!) anstoße, so übersetzt und linkt mir das Studio genau die Dateien, wo es meint, dass Targets veraltet sind (so glaube ich zumindest).
Gibt es irgendwie eine Möglichkeit sich dabei anzeigen zu lassen, auf Grund welcher 'neuer' Source-Code oder Lib.Dateien der konkrete Compile- oder Link-Vorgang durchgeführt wird?Wir haben hier das Problem, dass bei einer Solution, welche aus mehreren Dutzend Projekten besteht, Projekte immer wieder nach Build gelinkt werden, obwohl sich allen Anschein nach keinerlei Abhängigkeiten geändert haben.
Fragt
Werner
-
In VS-2010 kannst Du MS-Build die Log-Ausgabe auf Detailed (o.ä.) stellen, Dann sagt er Dir genau was "out of date" ist.
-
Danke Martin für den Hinweis, aber wo finde ich das 'MS-Build' im Visual Studio, von dem Du sprichst?
Wirklich brauchen tue ich es für das Visual Studio 8 .. da scheint es nichts zu geben
Ich habe inzwischen auch was anderes für VC10 gefunden <http://stackoverflow.com/questions/2762930/vs2010-always-thinks-project-is-out-of-date-but-nothing-has-changed> .. aber das ist ziemlich abgefahren und ist sicher kein 'offizielles' Feature von MS.
Gruß
Werner
-
Also in VS-2008 gibt es nichts dergleichen.
Meistens ist die Ursache für solch einen ewigen Rebuild eine nicht existierende datei.Beim VS-2010 kann man die Logs für MS-Build hier einstellen:
Tools -> Options -> Projects and Solutions -> BuildUnten hast Du zwei Comboboxen mit denen Du MSBuild "zum Sprechen" bringst!
-
Danke Martin,
das war der Hinweis, nach dem ich gesucht habe. Beim VC10 unter Tools->Options->Projects and Solutions->Build and Run->"MSBuild project build output(oder file) verbosity" lässt sich die Menge der Ausgabe von 'Minimal' bis 'Diagnostic' einstellen.
Eine fehlende Datei können wir ausschließen, da nicht immer ein Build angestoßen wird. Es scheint entweder an einer lib-Datei zu liegen, die aber keinerlei Beziehungen zu dem konkreten Projekt hat, wo der Build(genauer der Link) angestoßen wird. Oder an einer PDB-Datei, die anscheinend nicht immer aktualisiert wird.
Wir forschen noch.Gruß
Werner
-
Es scheint entweder an einer lib-Datei zu liegen, die ...
Hast Du "parallele Builds" eingeschalten? Da habe ich das Problem auch manchmal (VS2008), obwohl ich bei den bemängelten Libs meist gar keine Abhängigkeiten habe und die Buildreihgenfolge definitiv stimmt.