Primer braucht für einen Msbuild Neuling [geschlossen]
-
06-09-2019 - |
Frage
Wir pflegen eine mittlere Anwendung großen Fenstern entwickelt in vb / c # .net in Arbeit. Noch jetzt die Build- und Deploy-Prozess für diese App Handbuch ist. Ich bin entschlossen, diesen Prozess zu machen MSBuild automatisiert verwenden, auf dem ich jetzt noch keine Kenntnis haben.
Unsere Anwendung hat eine einfache Build-Struktur, von Projekten gesetzt werden bereits in vier Lösungen gruppieren (SLN) und muß nur die vier SLN in einer Reihenfolge zu bauen. Und dann veröffentlicht ein Projekt (der Teil des letzten sln ist gebaut werden) in ein Verzeichnis. Das ist es. Ein einfaches Verfahren, das bereits 30 Minuten manueller Build zeitraubend, und ich bin mir ziemlich sicher, dass dies ohne manuelle Eingriffe durchgeführt werden kann in atleast 1/4 th der Zeit mit msbuild.
Alle meine Ziele gut, ich begann um Web-Suche MSBuild Ressourcen meinen Prozess zu erreichen, aber um mich herum viele Dinge verwirrt suchen werden. Sie benötigen einen Zeiger oder eine gute Erklärung, wie und beginnen, wo für mein einfaches Szenario zu starten. Hilfe wird sehr geschätzt.
Lösung
Das klingt nach einem sehr einfachen Skript zu schreiben. Selbst eine Batch-Datei tun würde:
msbuild \path\to\first.sln /p:Configuration=Release msbuild \path\to\second.sln /p:Configuration=Release msbuild \path\to\third.sln /p:Configuration=Release msbuild \path\to\fourth.sln /p:Configuration=Release call deploy
Natürlich viel besser wäre es, einen Server laufen zu haben, sagen CruiseControl.NET , die eine Web-Schnittstelle in den Build-Status und Geschichte gibt.
In MS bauen, gibt es zwei Hauptkontrollpunkte für den Anrufer: Das Ziel und seine Eigenschaften. Das Ziel ist es, was zu kompilieren, Ressourcen, Erstellung, Bereitstellung, etc. Die Eigenschaften steuern, wie das Ziel gebaut wird.
Sie können die Konfiguration steuern die Konfiguration Eigenschaft (siehe oben) verwendet wird. Wenn Sie Ihren * öffnen. * Proj Dateien, werden Sie PropertyGroup
Elemente bemerken. Dies sind einstellbar über die Kommandozeile mit der /p
arg.
Hier sind die Angaben für die beiden argumente:
/target:<targets> Build these targets in this project. Use a semicolon or a
comma to separate multiple targets, or specify each
target separately. (Short form: /t)
Example:
/target:Resources;Compile
/property:<n>=<v> Set or override these project-level properties. <n> is
the property name, and <v> is the property value. Use a
semicolon or a comma to separate multiple properties, or
specify each property separately. (Short form: /p)
Example:
/property:WarningLevel=2;OutDir=bin\Debug\
Andere Tipps
Hier ist eine gute Anleitung , die eine Menge von Informationen über große MSBuild, Continuous Integration und CuriseControl.NET hat. Auf jeden Fall ein guter Anfang.