Wie erstellt man ein C # -Projekt, ohne die Abhängigkeiten zu überprüfen?

8

Gegeben eine Lösung wo:

  • Projekt P1 hat einen Verweis auf P2
  • P2 hat einen Verweis auf P3
  • P3 bezieht sich auf P4

Wenn Sie msbuild wie folgt aufrufen:

%Vor%

msbuild prüft alle Projektabhängigkeiten und baut bei Bedarf Build-Abhängigkeiten auf. Die typische Ausgabe ist:

%Vor%

In meinem Fall weiß ich, dass die Abhängigkeiten existieren und in Ordnung sind.

Gibt es eine Möglichkeit, nur das Projekt p1.csproj zu erstellen, ohne Abhängigkeiten zu überprüfen? Die Lösung kann mit msbuild oder mit etwas anderem sein.

    
Sylvain 27.08.2010, 20:21
quelle

5 Antworten

4

Sie können /p:BuildProjectReferences=false an msbuild übergeben, wodurch die Build-Projektreferenz übersprungen wird. Dies hat jedoch eine Einschränkung: Wenn Ihre Lösungskonfiguration und die referenzierte Projektkonfiguration nicht übereinstimmen, konnte msbuild die Zielausgabedatei des referenzierten Projekts nicht auflösen ...

Hier ist ein kostenloses vs. Erweiterungspaket, das Sie herunterladen und ausprobieren können Ссылка

vs Paket: Sharp Build-Dienstprogramm

Ich bin der Autor dieser Erweiterung, ich habe die gleiche Anforderung in der aktuellen Arbeit, viel Spaß mit diesem Tool ...

Im Wesentlichen kann diese Erweiterung den obigen Fall behandeln, wodurch eine Schattenkopie Ihrer Build-Projektdatei erstellt wird, alle Referenzen des Projekts auf die DLL-Dateireferenz geändert werden und msbuild mit der Schattenprojektdatei gestartet wird.

    
Winston 24.08.2012, 08:06
quelle
2

Was ist das Ziel (warum kümmert es dich?)

Sie könnten Assembly-Referenzen anstelle von Projektreferenzen verwenden (aber achten Sie auf Debug-v-Pfadunterschiede).

    
Brian 27.08.2010 20:23
quelle
1

Vielleicht können Sie den Konfigurationsmanager in Visual Studio verwenden und alle Projekte außer dem Projekt, das Sie erstellen möchten, deaktivieren.

    
grefly 27.08.2010 20:36
quelle
0

Sehen Sie sich die Best Practices von Microsoft zum Strukturieren von Lösungen und Projekten an:

  

Microsoft Patterns & amp; Praktiken: Strukturierungslösungen und Projekte

Was Sie derzeit haben, ist eine Einzellösung . Dies ist der ideale Fall, der wann immer möglich verwendet werden sollte. Eine einzelne Lösung kann sich jedoch für sehr große Lösungen wie Ihre als unpraktisch erweisen.

Sie sollten vielleicht überlegen, die Lösung zu partitionieren, d. h. separate Lösungen für Partitionen des Abhängigkeitsbaums zu verwenden. Oder Sie überlegen sogar, eine so genannte Multi-Lösung zu verwenden. Lesen Sie den verlinkten Artikel, um sich über die Konsequenzen und Nachteile einer solchen Änderung zu informieren. Vielleicht ist die Verwendung von schnellerer Hardware die bevorzugte Option.

    
Dirk Vollmar 27.08.2010 20:45
quelle
0

Sie sollten ein Produkt namens OpenMake ausprobieren. Mein leitender Konstrukteur erzählt mir, dass sie viel mit Abhängigkeitsuntersuchung und Parallelisierung gemacht haben.

OpenMake

    
Christopher Painter 28.08.2010 00:12
quelle

Tags und Links