Visual Studio 2010: Wie erzwinge ich die Erstellungsreihenfolge von Projekten in einer Lösung?


76

Ich hatte in Visual Studio 2008 kein Problem damit, aber es scheint, dass VS 2010 ein Problem hat, und ich wette, dass ich es wahrscheinlich bin.

Ich habe eine Lösung mit einem ASP.NET-Websiteprojekt und einigen C # -Projekten (BLL, DAL, Tests in NUnit). Ich habe den Erstellungsprozess für das Testprojekt so konfiguriert, dass NUnit automatisch ausgeführt wird, um die Tests auszuführen. Ich möchte sicherstellen, dass die BLL- und DAL-Projekte vor dem Testprojekt erstellt werden, damit die Tests mit der neuesten kompilierten Version ausgeführt werden (ja, ich weiß, dass ich dies alles in einem Projekt tun kann, aber ich entscheide mich dagegen - Bitte bei mir tragen :) )

Daher habe ich die Abhängigkeiten des Testprojekts so festgelegt, dass sie die BLL-, DAL- und Webanwendungsprojekte enthalten. In der Erstellungsreihenfolge werden BLL, DAL, Webanwendung und dann Tests angezeigt. Ich habe jedoch festgestellt, dass die BLL beim Erstellen des Testprojekts nicht erstellt wird.

Haben Sie eine Idee, was dies sein könnte, oder eine Option, die mir möglicherweise fehlt, um die anderen Projekte beim Erstellen des Testprojekts zum Erstellen zu zwingen?

Vielen Dank im Voraus für jede Hilfe!



1
Wenn die von Ihnen erstellte Lösungskonfiguration für Ihr BLL-Projekt überprüft wird?
Nick Craver

Antworten:


127

Nick Craver erwähnte das Überprüfen des Konfigurationsmanagers, um sicherzustellen, dass Sie das Projekt ausgewählt haben, das für eine bestimmte Konfiguration erstellt werden soll.

Um jedoch die Erstellungsreihenfolge für mehrere Projekte in einer Lösung festzulegen, klicken Sie mit der rechten Maustaste auf die Lösung und wählen Sie im Kontextmenü die Option "Projekterstellungsreihenfolge ...".


4
Ich habe es versucht, sehe aber nicht, wie ich die Reihenfolge beeinflussen soll. Der Hinweis lautet "Verwenden Sie die Registerkarte Abhängigkeiten, um die Erstellungsreihenfolge zu ändern", die andere Registerkarte enthält jedoch nur Kontrollkästchen.
AlignedDev

19
Sie machen das Projekt, das Sie zuerst erstellen möchten, zu einer Abhängigkeit von dem, das Sie zuletzt erstellen möchten.
Bluebaron

Überprüfen Sie dann die andere Registerkarte, um sicherzustellen, dass alles für Sie funktioniert hat.
Bluebaron

Das Kontrollkästchen "Build" war für mich korrekt. Ich hatte geantwortet und die Antwort akzeptiert, aber dann wurde sie gelöscht. Ich denke, weil ich "Danke" sagte. Deshalb werde ich diese Antwort als die richtige Antwort markieren.
SeanKilleen

1
In dieser Antwort finden Sie Screenshots von all dem.
Evgeni Sergeev

21

Ich werde hier etwas auf meinen Kommentar eingehen, für diejenigen, die ein ähnliches Problem haben.

Öffnen Sie den Konfigurationsmanager, indem Sie mit der rechten Maustaste auf die Lösung klicken und Konfigurationsmanager auswählen. Stellen Sie dann sicher, dass der Build für das entsprechende Projekt (für Ihre aktuelle Konfiguration) in der rechten Spalte hier aktiviert ist:

Konfigurationsmanager


17

Anstatt die Reihenfolge manuell festzulegen, können Sie möglicherweise Projektabhängigkeiten verwenden, mit denen Sie die Erstellungsreihenfolge indirekt angeben können.

  1. Wählen Sie im Projektmappen-Explorer ein Projekt aus.
  2. Wählen Sie im Menü Projekt die Option Projektabhängigkeiten. Das Dialogfeld Projektabhängigkeiten wird geöffnet. Die Option Projektabhängigkeiten ist nur in einer Lösung mit mehr als einem Projekt verfügbar.
  3. Wählen Sie auf der Registerkarte Abhängigkeiten ein Projekt aus dem Dropdown-Menü Projekt aus.
  4. Aktivieren Sie im Feld Abhängig von das Kontrollkästchen eines anderen Projekts, das vor diesem Projekt erstellt werden muss.

0

Um das Problem in meinem VS2012 zu beheben, habe ich Folgendes getan:

Klicken Sie mit der rechten Maustaste auf Projekteigenschaften -> Allgemeine Eigenschaften -> Framework und Referenzen

Jetzt finden Sie einige Projekte, die auf der Registerkarte "Abhängigkeit" angezeigt werden und in der Liste "Referenzen" fehlen.

Klicken Sie auf "Neue Referenz hinzufügen", um die fehlenden Projekte hinzuzufügen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.