Was verwendet Visual Studio, um festzustellen, ob ein Build aktuell ist?

8

Ich habe ein VS-Addin geschrieben, das den Build-Befehl von Visual Studio abfängt und ein anderes Build-System verwendet, um einen Build zu erstellen. Ich habe meine Build zeigt Fehler im richtigen Format, so dass Sie auf sie in VS klicken können, aber der einzige Schritt für die vollständige nahtlose Integration ist zu verhindern, VS "run" oder "debuggen" Befehle zu jammern, die es nicht denkt Das Projekt ist gebaut (wenn es natürlich ist) weiß jemand, wie ich VS glauben kann, dass das Projekt gebaut wird?

    
Benj 26.01.2010, 14:32
quelle

2 Antworten

5

In Kürze überprüft MSBuild / Visual Studio, was bei der Konfiguration eines bestimmten Projekts von definierten Zielen ausgegeben wird. Als Nächstes vergleicht es den Zeitstempel der Datei (en), die als Zielausgabe angegeben wurden, mit den Zeitstempeln aller Dateien, die als Eingabe für das jeweilige Ziel angegeben wurden. Wenn die Eingabe aktueller ist als die Ausgabe, dann fordert sie an, die Ausgabe neu zu generieren (Quellcode neu kompilieren oder Objektdateien neu verknüpfen usw.)

Wie kann ich VS dazu verleiten zu denken, dass das Projekt gebaut wurde?

Aktualisiere Zeitstempel von Eingabedateien, nämlich Quelldateien ( .cpp , .cs ) oder Binärdateien wie .obj , die als Eingabe für den Linker und andere Dateien verwendet werden, die Sie interessieren.

Manchmal mache ich es manuell und gebe den folgenden Befehl aus, indem ich das Touch -Dienstprogramm von GnuWIn32

verwende %Vor%     
mloskot 26.01.2010, 14:56
quelle
2

Visual Studio verwendet den Datums- / Zeitstempel der Quelldateien. Wenn die Quelldatei aktueller ist als die kompilierte Binärdatei in bin\debug oder bin\release , erstellt Visual Studio die Lösung neu.

Manchmal kann der Neuerstellungsprozess fehlschlagen. Die schnelle Lösung besteht darin, die intermediate Debug-Dateien *.pdb im bin\debug oder bin\release Ordner der Lösung zu löschen. Erstellen Sie dann einen Build für die Lösung.

Hoffe, das hilft, Freundliche Grüße, Tom.

    
t0mm13b 26.01.2010 14:42
quelle