Visual Studio 2010 wird nicht vor einem Lauf erstellt, wenn Codeänderungen vorgenommen werden

126

Ich verwende seit Jahren F5 (Start Debugging), um den Code zu erstellen (falls er veraltet ist) und dann zu debuggen. Dies funktionierte auch für VS 2010, aber heute beginnt das Debuggen nur ohne Build. Angenommen, ich bereinige das Projekt und drücke dann F5, anstatt es zu erstellen, damit es ausgeführt werden kann. Es wird eine Fehlermeldung ausgegeben, die besagt, dass die Exe nicht zum Ausführen vorhanden ist. Wie mache ich es zuerst bauen? Was hätte sich ändern können?

Jamone
quelle
1
Ich hatte das gleiche Problem. Es trat von einem zum nächsten Tag auf und ich habe im Dialogfeld "Optionen" nichts geändert. Die Antwort von Hans löste mein Problem.
30.
Ich bin erst kürzlich darauf gestoßen, habe einen Fehlerbericht an msft connect gesendet und Ihre Stimme abgegeben, damit sie hoffentlich das Problem
Jason

Antworten:

164

Tools + Optionen, Projekte und Lösungen, Erstellen und Ausführen. "Beim Ausführen, wenn Projekte veraltet sind" = Immer erstellen. Die darunter = Nicht starten.

Hans Passant
quelle
7
Nur überprüft und auf Always Build eingestellt ... Also sollte es das nicht tun.
Jamone
5
Funktioniert auf meiner Maschine. Wird verwendet, um an Ihrem zu arbeiten. Der Neustart ist der nächste.
Hans Passant
3
Der Neustart hat das Problem nicht behoben, aber das Ändern von "On Run, wenn Projekte veraltet sind" = Immer erstellen, um das Speichern / Beenden von VS nicht zu starten, und das Zurücksetzen hat es behoben.
Jamone
3
Das ist ein Fehler. Möchten Sie es an connect.microsoft.com senden?
Hans Passant
1
@ Hans: Natürlich, wie reproduzierst du das? Es ist nahezu unmöglich, die Mitarbeiter von Microsoft Connect davon zu überzeugen, dass es sich wirklich um ein Problem handelt, es sei denn, es ist reproduzierbar. Was nur Sinn macht, als ob Sie nicht können, dann sind die Chancen eines der
Entwickler
119

Ich hatte dieses Problem und es stellte sich heraus, dass es sich um den Konfigurationsmanager handelte. Ich hatte kürzlich von Debug | Mixed CPU zu Debug | Any CPU gewechselt und das Projekt war nicht so eingestellt, dass es unter dieser Konfiguration erstellt wurde

Tim
quelle
Dies hat es auch für mich gelöst - scheint die wahrscheinliche Ursache für dieses Problem zu sein.
Gstercken
3
Toller Tipp! Nicht etwas, woran du denken würdest. Danke
Almund
1
Yup das hat es für mich behoben! Klicken Sie einfach auf alle Kontrollkästchen, um den Konfigurationsmanager zu erstellen. Danke Tim!
Chaz
Ein ähnliches Problem wurde auch für mich behoben. Vielen Dank!
Austin Thompson
1
Mein Problem war die falsche Konfiguration ausgewählt! Ich hatte ein separates Projekt, in dem jede Konfiguration eine andere Sprache ist, und die Kombination wurde auf eine dieser Konfigurationen eingestellt. Habe es einfach in Debug_Unicode geändert und jetzt baut es!
Sergiol
22

Öffnen Sie Ihren Konfigurationsmanager und überprüfen Sie, ob das Kontrollkästchen in der Build-Spalte für Ihr Startprojekt aktiviert ist. Ich hatte das gleiche Problem, aber das Kontrollkästchen war nicht aktiv, also habe ich es aktiviert und jetzt funktioniert es!

Michael Scherf
quelle
Danke hat mir geholfen. Ich habe die Option übersehen. ;)
Skalli
17

Stellen Sie außerdem sicher, dass "Nur Startprojekte und Abhängigkeiten beim Ausführen erstellen" deaktiviert ist (unter Extras -> Optionen -> Projekte und Lösungen -> Erstellen und Ausführen).

Alo
quelle
1
Ich hatte dieses Problem und dies war DIE Lösung. Vielen Dank.
Roberto Luis Bisbé
1
Dies hat es für mich behoben, scheint aber ein Fehler zu sein. Das betreffende Projekt ist eine Abhängigkeit und sollte erstellt werden.
KingOfHypocrites
Dies ist eine schreckliche Einstellung, die nicht aktiviert werden muss, wenn Sie mehr als ein Startprojekt oder Testprojekte haben.
cbp
Danke dir!! Microsoft sollte dies umformulieren und ändern, damit es sinnvoll ist. Mir ist unklar, was es bedeutet, wenn es überprüft wird.
Cameron
10

Ich hatte auch dieses Problem. Ich überprüfte alles, was vorgeschlagen wurde, ohne Erfolg. Es stellte sich heraus, dass meine Uhr auf meinem PC um ungefähr 12 Stunden vorgerückt war und ich auf einem Netzwerklaufwerk speicherte. Die Zeitstempel der Dateien waren falsch und VS glaubte nicht, dass es notwendig war, mein Projekt zu erstellen, da die Dateien super aktuell waren.

Vinnie
quelle
3

Seit einiger Zeit bin ich immer verwirrt darüber, warum mein Laptop (Dual Core 2 GHz, 2 Gbit RAM) meine Website schneller kompilierte als mein Desktop (Quad Core 3 GHz mit 16 Gbit RAM). Beide haben SSD-Festplatten. Die Build-Optionen sind alle korrekt eingestellt (gleich, Kernanzahl = parallele Builds), aber der Laptop führt die Site in wenigen Sekunden aus und der Dekstop führt die Site in etwa 30 Sekunden aus.

Unter den "Eigenschaftenseiten" der Site wurde eine zusätzliche Option gefunden. Unter der Einstellung "Erstellen" wurde der Laptop auf "Kein Build" und der Desktop auf "Erstellen und Ausführen" gesetzt. Erst gefunden, nachdem die Site auf dem Laptop ausgeführt wurde, ohne nach einem Compilerfehler zu suchen.

Könnte jemandem in der Zukunft helfen, also dachte ich, ich würde es diesem Beitrag hinzufügen

Jeggs
quelle
2

Ein weiterer zu überprüfender Punkt befindet sich unter Lösungseigenschaftsseite -> Konfigurationseigenschaften -> Konfiguration: Stellen Sie sicher, dass alle Kontrollkästchen unter Buildspalte aktiviert sind, um das Projekt zu überprüfen, das erneut erfüllt werden muss.

Daniel Nguyen
quelle
1

Ich habe die vorherigen Lösungen mit gemischten Ergebnissen ausprobiert. ABER es scheint für mich zu funktionieren, wenn ich zu Build -> Clean Solution gehe

Aber es wird ärgerlich, das jedes Mal tun zu müssen.

user2813625
quelle
1

Für mich geschah dies aufgrund der Einstellungen für die Build-Konfiguration. Meine Visual Studio-Lösung enthält eine Reihe von Projekten, die eine Mischung aus C # - und C ++ - Projekten sind. Jetzt wurde mir klar, dass Visual Studio aus irgendeinem seltsamen Grund lieber keine C ++ - Projekte standardmäßig erstellt, was anhand der Konfigurationseinstellungen für die Erstellung deutlich wird. Ich habe es gleich nach dem Hinzufügen eines neuen C ++ - Projekts zur Lösung bemerkt . Ich weiß nicht, warum VS beim Hinzufügen eines neuen C # -Projekts zur Lösung nicht denselben Ansatz verfolgt.

Klicken Sie im Lösungs-Explorer mit der rechten Maustaste auf die Lösungsdatei -> Klicken Sie im Kontextmenü auf Eigenschaften -> Wählen Sie im linken Bereich den Knoten Konfigurationseigenschaften aus -> Wählen Sie den Knoten Konfiguration . Es zeigt die Liste aller Projekte in der Lösung. Das erste Projekt LearnDs ist ein C ++ - Projekt. Beachten Sie das Kontrollkästchen in der Build-Spalte in der ersten Zeile. Es ist nicht markiert. Dies war der Grund, warum Visual Studio 2010 mein C ++ - Projekt (beim Drücken von F5) nicht erstellt hat, das einige Änderungen enthielt, seit es zuletzt erfolgreich erstellt wurde.

Geben Sie hier die Bildbeschreibung ein

In dem Moment, in dem ich das entsprechende Kontrollkästchen aktiviert und die Build-Konfigurationseinstellungen für die Lösung gespeichert habe, hat es funktioniert. Jetzt wird die folgende Eingabeaufforderung angezeigt, wenn ich F5 drücke, da VS feststellen kann, dass seit der letzten Erstellung einige neue Änderungen vorgenommen wurden. Diese Eingabeaufforderung ist darauf zurückzuführen, dass meine Einstellungen im Menü Extras -> Untermenü Optionen -> Knoten Projekte und Lösungen -> Knoten Erstellen und Ausführen -> "Beim Ausführen, wenn Projekte veraltet sind" auf gesetzt sind Prompt to build. Wenn Ihnen diese Eingabeaufforderung nicht gefällt, setzen Sie sie auf Always build.

Geben Sie hier die Bildbeschreibung ein

RBT
quelle
1

Tool -> Optionen -> Projekt und Lösungen.

  1. Festlegen als Immer erstellen / Aufforderung zum Erstellen für "Beim Ausführen ist das Projekt veraltet"
  2. Deaktivieren Sie das Kontrollkästchen "Nur Startprojekte und Abhängigkeiten von Ausführen erstellen".
Poovizhi
quelle