Gegeben eine Lösung wo:
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.
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.
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.
Sie sollten ein Produkt namens OpenMake ausprobieren. Mein leitender Konstrukteur erzählt mir, dass sie viel mit Abhängigkeitsuntersuchung und Parallelisierung gemacht haben.
Tags und Links c# visual-studio msbuild