Verhinderung von MSBuild erstellen eines Projekts in einem .sln ohne mithilfe des Projektmappen-Konfigurationen

Ich möchte hemmen den Aufbau von bestimmten Projekten in einer Lösung von Gebäude (innerhalb eines TeamCity Build-Konfiguration zu optimieren, um die Geschwindigkeit von meinem Commit Erstellen Sie feedback, wenn Sie wissen müssen).

Ich bin mir bewusst, dass der Lösung Konfigurationen Mechanismus, aber nicht wollen, zu zwingen, viel .sln Dateien, um am Ende mit jeder permutation der Dinge, die ich möchte in der Lage sein, zu schalten. Ich habe übereinkommen aufgrund der Regel, wo ich will "zu sagen, Wenn ich mache die Commit Bauen, ich möchte nicht bei der letzten installer-Verpackung". (Und ich will nicht brechen Sie aus in eine eigene Lösung).

Ich lieber nicht verwenden, eine Lösung mit suchen und ersetzen in der .sln - Datei oder in einer .proj - Datei erstellt, die über [MsBuildEmitSolution][1]. Ich bin mir bewusst, dass Fragen hier, die decken, die out of the box Lösung und diese leicht Verwandte Frage.

Sehe ich MSBuild /v:diag sagt:

 2>Target "Build" in file "Z.sln.metaproj" from project "Z.sln" (entry point):
   Using "MSBuild" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
   Task "MSBuild"
     Global Properties:
       BuildingSolutionFile=true
         CurrentSolutionConfigurationContents=<SolutionConfiguration>
   <ProjectConfiguration Project="{C83D035D-169B-4023-9BEE-1790C9FE22AB}" AbsolutePath="X.csproj" BuildProjectInSolution="True">Debug|AnyCPU</ProjectConfiguration>
   <ProjectConfiguration Project="{15E7887D-F1DB-4D85-8454-E4EF5CBDE6D5}" AbsolutePath="Y.csproj" BuildProjectInSolution="True">Debug|AnyCPU</ProjectConfiguration>
 </SolutionConfiguration>

Also die Frage ist:

Gibt es eine ordentlich Art, der mir immer ein XPath ersetzen oder ähnliches, um die Wirkung der änderung BuildProjectInSolution="True" zu BuildProjectInSolution="False" für Projekt Y, oben

Gelingt das nicht, ist es ein relativ einfaches Bearbeiten ich tun kann, innerhalb einer .ccproj (Eine Azure-1.4-Paket) oder eine .csproj (generelles Projekt) - Datei zu verursachen, die Effekte (einschließlich Auslösung des abhängigen Projekte) für das Projekt aktiviert wird, innerhalb einer Kommandozeilen - msbuild Z.sln Lösung bauen, aufgehoben?

  • Es ist nichts falsch mit einem benutzerdefinierten MSBuild-Datei. Ich bin mir nicht sicher, warum das nicht qualifizieren, als eine saubere Lösung.
  • Melton: ich habe bereits einen fantastischen benutzerdefinierten msbuild-Datei erstellen der Menge der Lösungen (parallel usw. erreichen fantastisch Durchsatz). Ich bin nach etwas, wo subsytems in das Produkt geladen werden kann, in VS und Projekte Hinzugefügt und weggenommen - daher .sln - Dateien. Ich wies darauf hin, dass sein traurig, wenn das einzige, was ich tun kann, ist Kraft MSBuild ausstrahlen .proj-Datei als gleichwertige, fühlt sich einfach liek, die Speicherung von bis Probleme für immer, wenn MSBuild-5 änderungen, die das Spiel (oder wenn Sie das VS-team endlich, dass .sln-Dateien, die nicht als spezielle Fälle ist irgendwie, naja, wichtig für Reale Projekte!)
  • Ich fühle mich ya. Die sln-Datei-problem ist lächerlich. Es gibt ein paar Probleme msbuild und die integration mit visual studio, die ich einfach nicht verstehen. Das schimpfen ist zu lang um hier zu posten.
  • Melton: ich in der Regel lassen Sie sich nicht von solchen kleinen Problemen wie Länge verhindern, dass ich aus der Entlüftung 😀 Danke für die Antworten.
Schreibe einen Kommentar