Wie wir alle bereits wissen, hat VS2010 ein großes Upgrade seines Buildsystems, das auf MSBuild basiert, erhalten.
Laut MS-Vertretern (siehe Kommentare in Visual Studio 2010 erstellt das Projekt nach dem Ruhezustand / Neustart des Computers immer neu ) MSBuild injiziert sich nun in andere Tools (wie C ++ - Compiler, Linker usw.), um die Abhängigkeiten eines Ziels zu ermitteln.
Einer der Nachteile eines solchen Ansatzes ist, dass Ihr Projekt möglicherweise aufgrund von Änderungen in irrelevanten Dateien neu erstellt werden kann:
In meinem Fall ist es C:\PROGRAMDATA\NVIDIA CORPORATION\DRS\NVDRSDB0.BIN
, die regelmäßig von NVIDIA Update Service (Windows 7 32-Bit) geändert wird.
Ich habe festgestellt, dass durch das Drehen der VS2010-Optionen " MSBuild-Projekt-Build-Ausgabe-Ausführlichkeit " und " MSBuild-Projekt-Build-Protokoll-Datei-Ausführlichkeit " zu Diagnostic ".
Danach konnte ich die Ursache des Problems im Build-Ausgabefenster sehen:
Eine der Problemumgehungen besteht darin, die irrelevanten Dateien zur C ++ - Ignorierliste hinzuzufügen:
%Vor%Leider hilft das nicht :( Und ich habe noch nicht überprüft, wie dieser Trick auf anderen PCs funktioniert, wo solche Dateien nicht existieren.
Also bleibt die Frage: kennt jemand die funktionierende Lösung für dieses Problem ?
Ich habe nicht versucht, SP1 für VS2010 zu installieren - laut Enthusiasten hilft dieser Schritt auch nicht.
Möglicherweise hilft die Deaktivierung des NVIDIA Update-Dienstes (es wird die Aktualisierung der Datei stoppen), aber es gibt oder kann andere Software sein, die nicht auf diese Weise deaktiviert werden kann (Antivirus, andere Dienstprogramme usw.).
Siehe auch verwandte Fragen:
Ich habe das gleiche Problem, außer dass die "modifizierte" Datei in meinem Fall
ist %Vor%Microsoft hat zugegeben, dass es einen Fehler gibt (der in der nächsten Version behoben wird ) und vorgeschlagene Problemumgehungen
aber keiner von diesen hat für mich bisher funktioniert. Ich versuche immer noch, mit meinem
zu meckern %Vor%Datei und fügen Sie etwas wie das Folgende zu meinen Eigenschaftsseiten
hinzu %Vor%Aber ich hatte bisher kein Glück. Vielleicht können Sie dieses Workaround für sich arbeiten lassen? (Lass es mich wissen, wenn es das tut!)
Wir hatten das gleiche Problem mit der Sophos CONFIG.BOPS
-Datei. Wir haben ein großes Team und unsere Lösung hat mehr als 80 Projekte, so dass die von anderen beschriebene Problemumgehung für uns unattraktiv war. Ich habe einen Ansatz gewählt, der wunderbar funktioniert hat. Manche mögen sagen, dass es ein totaler Hack ist, was ich zugeben muss, aber es ist unglaublich einfach und es funktioniert jetzt, bis Microsoft das behebt.
Ich habe in C # eine kleine Desktop-Tray-App geschrieben, die die CONFIG.BOPS
-Datei überwacht, und wenn sich der Zeitstempel ändert, wird er mit File.SetLastWriteTime
auf ein altes Datum zurückgesetzt, ohne den Dateiinhalt zu ändern. Die App muss als Administrator unter Windows 7 ausgeführt werden, aber das ist in Ordnung für uns, da unsere Mitarbeiter alle Administratorrechte für ihre PCs haben. Wir haben nicht das NVDRSDB0.BIN
Problem, aber ich vermute, dass es auch für diesen Fall funktionieren könnte.
Ich konnte dieses Problem beheben, indem ich C: \ PROGRAMDATA \ NVIDIA CORPORATION \ DRS \ zu meinem Benutzereigenschaftsblatt VC ++ - Verzeichnisse / Verzeichnisse ausschließen hinzufügte.
Um diese Datei zu bearbeiten, öffnen Sie den View- & gt; Property Manager unter jedem Projekt / Konfiguration.
Wenn Sie dieses System nicht erweitern möchten, können Sie ein neues Eigenschaftsfenster erstellen und es nur zu den Projekten hinzufügen, für die Sie es einrichten möchten. Sie können alle Projekte, für die diese Einstellung erforderlich ist, im Property Manager und Rechtsklick- & gt; Add New-Eigenschaft Sheet auswählen.
Tags und Links visual-studio-2010 msbuild-4.0