2009-08-23 2 views
60

Ich debugge die Arbeit eines anderen, und die Lösung ist ziemlich groß. Wenn ich versuche, das Ganze zu erstellen, werden mehrere Projekte innerhalb der Lösung nicht erstellt und einfach übersprungen. Anzeigen des Ausgabefensters während des Build-Prozesses sagt:So ermitteln Sie, warum Visual Studio beim Erstellen einer Lösung möglicherweise Projekte überspringt

1> ------ Übersprungene Alles neu erstellen: Projekt: pr1lib ------

Wie kann ich feststellen, warum diese übersprungen wurden Builds? Ich kann keine zusätzliche Ausgabe finden.

Dies ist mit VS2008 und die Lösung besteht aus C# und C++ - Code.

+0

Zusätzlich zu den angegebenen Antworten müssen Sie sicherstellen, dass die Projektkonfigurationseinstellungen in den Projekteinstellungen aktiviert sind (Kontrollkästchen aktiviert)) das sollte gereinigt/gebaut werden: 'Build> Configuration Manager: überprüfen, wie benötigt' –

+0

Um zu beheben, warum Projekte übersprungen werden. Stellen Sie sicher, dass Sie den Build-Einstellungen '/ fl' hinzufügen, um eine msbuild.log-Datei zu erhalten, die den Grund enthält. Zum Beispiel: 'übersprungen wegen falscher Bedingung; (('$ (Configuration)' == 'Release') und ('$ (Platform)' == 'Any CPU')) wurde ausgewertet als (('Debug' == 'Release') und ('AnyCPU' = = 'Irgendeine CPU')) .' –

Antwort

72

Klicken Sie mit der rechten Maustaste auf die Lösung, wählen Sie Eigenschaften und dann Konfigurationseigenschaften. Hier können Sie auswählen, welche Projekte erstellt werden sollen.

[bearbeitet]:
See Kdt Kommentar: ... wenn ich in Konfigurationseigenschaften sehe ... das Projekt Build-Ziel für "Mixed-Plattformen" konfiguriert wurde, während die Lösung "Any CPU" zu bauen, wurde eingestellt .

* Als dieses Problem mit mir passierte, hatte das Hauptprojekt nur 'Any CPU' und es setzte die Child-DLL auf 'jede CPU', aber ich hatte dieses Profil gelöscht und nur 'x86' übrig. Wählen Sie x86 nur für die DLL, damit es funktioniert

+15

Außer wenn alles dort ausgewählt ist und Projekte noch übersprungen werden ... –

+18

Ich hatte ein mysteriöses "Übersprungenes Build", und als ich in den Konfigurationseigenschaften nachsah, wurde das Projekt tatsächlich für Builds markiert. Das Projektziel wurde jedoch für "Gemischte Plattformen" konfiguriert, während die Lösung so eingestellt wurde, dass "Jede CPU" erstellt wurde. Diese wurden geändert, um das Problem zu beheben. – kdt

+0

In meinem Fall, obwohl alle Projekte und die Lösung alle auf "Beliebige CPU" eingestellt waren, übersprang ein Projekt das Bauen. Erst nachdem ich die Lösung auf "Mixed Platforms" und dann auf "Any CPU" gesetzt hatte, wurde es gebaut. Betrachtet man ein Diff der Lösungsdatei vorher und nachher, änderte es sich von '{784BDC39-5783-4128-956E-99EA062FA8FB} .Debug | AnyCPU.ActiveCfg = Debug | AnyCPU' zu' {784BDC39-5783-4128-956E-99EA062FA8FB } .Debug | AnyCPU.ActiveCfg = Debug | Any CPU'. Der einzige Unterschied ist der Abstand zwischen "Any" und "CPU" am Ende der Zeile. –

2

Gehen Sie zum Build-Menü und wählen Sie "Configuration Manager". Dadurch wird angezeigt, welche Projekte in der ausgewählten Konfiguration konfiguriert wurden.

0

stellen Sie sicher, dass Sie zuerst eine "bereinigen" .. Visual Studio wird in der Regel nicht ein Projekt neu erstellen, das nicht veraltet ist (soweit es betroffen ist) und wird nur wieder den Objektcode verwenden hat schon.

Das Ausführen einer Bereinigung sollte den zuvor kompilierten Code löschen und VS sollte das Projekt nicht überspringen (vorausgesetzt, der Konfigurationsmanager hat die Projekte ausgewählt, um sie zu erstellen ... siehe vorherige Antwort).

Hoffe, dass hilft.

+3

Nein, wenn ein Projekt ist up-to-date VS sagt so im Protokoll, und zählt es nicht als "übersprungen". –

10

Wenn die Konfigguration x64 ist und der x64-Compiler nicht installiert ist, wird das Projekt übersprungen.

+1

+1 Genie. Sie können SP1 hier finden: http://www.microsoft.com/download/en/details.aspx?id=10986 – ashes999

+0

Wenn x64-Compiler nicht installiert ist, können Sie nicht einmal x64 auswählen. – Calmarius

+0

Die Lösungs- und Projektkonfigurationen können einen Eintrag mit dem Titel "x64" definieren und verwenden. Die 3. ddl für Prozessor Arch. (Plattform Ziel - auf halbem Weg die Build-Eigenschaften Seite) ist die, die nicht verfügbar ist – StingyJack

1

Hatte das gleiche Problem, fand heraus, dass die Projekteinstellung für Itanium CPU war, änderte es auf Intel behoben.

3

Hey, habe gerade diesen behoben. Dachte, es könnte helfen. Sie haben wahrscheinlich keine entsprechenden Compiler zusammen mit dem Visual Studio installiert. Dies ist mir heute passiert - standardmäßig installiert das Installationsprogramm von 2008 nicht den x64-C++ - Compiler.

Wenn Sie SP1 haben, deinstallieren Sie es, bevor Sie die VS-Installation ändern. Wenn Sie fertig sind, installieren Sie SP1 erneut.

32

Ich hatte gerade das gleiche Problem - "Projekt entladen" und "Projekt neu laden" löste das Problem!

+0

Ich habe das gleiche Problem, und Entladen/Neuladen funktioniert, aber das Problem scheint wieder zu kommen, was ärgerlich ist wenn es zu einer Reihe von Projekten kommt und du jeden von ihnen neu laden musst ... Wer weiß, ob es einen Weg gibt, dies alles zu vermeiden? – Liron

+0

Das behebt das Problem für mich, wenn Visual Studio im Ausgabefenster beim Erstellen eines Builds fälschlicherweise Projekte als aktuell gemeldet hat. –

0

Ich finde, dass manchmal, wenn Sie Zielplattform als gesetzt haben, sagen x86 in Ihrer Lösung und in Ihren Projekten das Projekt nicht immer hatte es immer ausgewählt.

Um zu überprüfen, gehen Sie zu den Projekteigenschaften und sehen, ob Sie diese Plattform in der Build-> Plattform-Einstellung auswählen können, wenn Sie nicht können, dann müssen Sie zum Konfigurationsmanager gehen und diese Konfiguration erstellen.

1

War das gleiche Problem mit VS2005, waren alle Konfigurationen korrekt. Es übersprang sogar den Clean-Projektbefehl.

Endlich Entladen/Nachladen hat die Magie.

5

Das Visual Studio 2008 kann es sein, weil 64-Bit-Compiler nicht installiert hätte.

Systemsteuerung -> Programme und Funktionen -> Microsoft Visual Studio 2008 Professional -> [Doppelklick]

On Visual Studio Dialog

Next -> Hinzufügen/Entfernen von Features -> (Under) Visual C++ -> (wählen) x64-Compiler und Tools

3

Problem existiert auch in VS 2010; der vorgeschlagenen Lösungen: Bearbeiten von Build-Config, Reinigen, Ändern/Ändern der Ziel-Framework, nicht funktionieren. Aber das Entladen und Neuladen des Projekts funktioniert.

0

Ich hatte dieses Problem mit einigen Windows CE-Projekten auf einem neuen PC. "Unload project" und "Reload project" schienen das Problem zu beheben, aber Visual Studio war einfach auf eine andere Plattform umgestiegen und baute diese.

Es stellte sich heraus, dass, obwohl meine WinCE-Plattform als die aktive Plattform gezeigt wurde, Visual Studio es nicht "wirklich" sah. Die Lösung war reinstall the WinCE SDK with administrator priveleges:

  • Stellen Sie sicher, dass Visual Studio 2008 nicht ausgeführt wird.
  • Öffnen Sie eine "Visual Studio 2008-Eingabeaufforderung" als Administrator. Unter Windows 7 klicken Sie mit der rechten Maustaste auf die Abkürzung und wählen Sie die Option "Als Administrator ausführen".
  • Geben Sie den folgenden Befehl ein: msiexec /log SDKInstallLog.txt /package <the path to your .msi file>
  • Wenn Sie gefragt werden, ob Sie eine benutzerdefinierte tun wollen oder vervollständigen Pick benutzerdefinierte Installation, und weisen Sie den Installer die Installation der Dokumentation zu verzichten (dieser Schritt in meinem Fall nicht notwendig war, in der Tat ich fragte sie, nur um die bestehende Installation „reparieren“.)
  • Installieren
0

VS 2008 x64 Ziele überspringen, wenn Sie nicht die x64-Compiler installiert haben. VS 2008 ist nicht standardmäßig. Eine Art von Duh, Ding.

1

Klicken Sie mit der rechten Maustaste auf Lösung bei Ihrem Lösungsexplorer und dann auf Eigenschaft im unteren Bereich des Menüs. Klicken Sie in den Eigenschaftenfenstern auf Konfigurationseigenschaften ->Konfiguration auf der linken Seite, sehen Sie die Liste der Projekte im rechten Fensterbereich, stellen Sie sicher, dass das Kontrollkästchen Erstellen im Popup-Fenster aktiviert ist.

0

Ich hatte ein sehr ähnliches Problem nach dem Generieren eines Projekts von einem Dekompiler von Telerik, dann versuchen, es neu zu kompilieren. Das Projekt wurde übersprungen, wann immer ich es versuchen wollte. Ich habe viele der obigen Vorschläge versucht, aber für mich war es das .NET Framework, das in den Projekteigenschaften ausgewählt wurde.

Klicken Sie mit der rechten Maustaste auf das Projekt in der Lösungsdatei, wählen Sie Eigenschaften, Registerkarte Anwendung, ändern Sie das Zielframework von 4.0 auf 3.5.

Dann, neu erstellen, und ich habe eine Reihe von Assembly-Referenz fehlende Fehler, was sinnvoll ist, da ich noch keine Referenzen hinzugefügt haben.

1

Wenn Ihre Lösung eine NuGet-Projektdatei (* .nuproj) enthält, versuchen Sie, sie zu entladen und anschließend Ihre Lösung neu zu erstellen.

Dies funktioniert für mich, nachdem keine der oben genannten funktioniert.

2

Build-, Rebuild- und Clean-Vorgänge wurden übersprungen. Das Entladen und Neuladen half nicht, und Visual Studio wurde auch nicht neu gestartet.

Sobald ich das Projekt aus der Lösung entfernt und wieder hinzugefügt habe, wird es nicht mehr übersprungen. Um es zu entfernen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt> Entfernen> OK. Um es zurückzusetzen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe> Hinzufügen> Vorhandenes Projekt.

Verwandte Themen