Ermittelt den Namen des Assembly-Projekts aus Output TaskParameter

8

Ich verwende msbuild.exe , um mein Build von der Befehlszeile zu automatisieren.

Ich mache die folgenden Schritte.

  • Kompilieren Sie Projekte in einen Ordner außerhalb des Projektverzeichnisses
  • zip jedes kompilierte Projekt

Hier sind meine Ziele

zuerst zum kompilieren

%Vor%

und jetzt das Ziel, jedes kompilierte Projekt in seine einzige Datei zu komprimieren.

%Vor%

Also wird jedes Projekt, das ich in BuildProjectFiles angegeben habe, in den Ordner <rootdir>\deploy\bin\<name of the csproj file without extension\

kompiliert

Im zweiten Schritt benutze ich den MSBuild.Community.Tasks Zip-Task, um jedes Projekt zu komprimieren und nach <rootdir>\deploy\dist\release\<assemblyname>-<version>.zip

zu kopieren

Im Grunde genommen befindet sich die Assembly project1.exe und ihre Abhängigkeiten nach dem Ausführen von msbuild in der Datei project1-2.4.7.zip .

Das funktioniert sehr gut. Aber jetzt habe ich eine Veränderung, die ich nicht lösen kann. Ich habe zwei Assemblys mit dem gleichen Assemblynamen (eins für Windows und das andere für Windows CE), also kompiliert das erste Projekt und erstellt einen Ordner project2-2.4.7.zip und dann kompiliert und überschreibt das nächste Projekt die Zip-Datei.

Nun möchte ich, dass die Zip-Datei nach der .csproj Datei benannt wird (wie der bin-Ordner). Da meine eine Projektdatei mycompany.project2.csproj und die andere mycompany.project2-ce.csproj heißt, sollte ich in Ordnung sein.

Kurz gesagt: Wie kann ich den Projektnamen an das ZIP-Ziel übergeben?

    
Jürgen Steinblock 20.08.2012, 13:59
quelle

1 Antwort

1

Ist das geeignet? $ (MSBuildProjectName)

reservierte MSBuild-Eigenschaften

    
Anssssss 23.08.2012 03:25
quelle

Tags und Links