2009-12-07 13 views
6

Wir haben einen Batch-basierten Buildprozess und verwenden MSBuild nur zum Kompilieren unserer Projektdateien aus Visual Studio. Wir haben auch Wix in unseren Build-Prozess integriert. Um die Version unserer Software festzulegen, geben wir im Haupt-Build-Skript einige Umgebungsvariablen an, die wir während des Build-Prozesses verwenden. Mein Problem ist, dass ich die FileVersion der Assembly (AssemblyFileVersion) in meinen Assembly-Informationen setzen muss. Gibt es eine Möglichkeit, den MSBuild-Aufruf eine Eigenschaft mit der zu setzenden Version zu geben? Wie dies (das funktioniert nicht):Einstellung AssemblyFileVersion mit MSBuild-Aufruf?

%dotnetdir%msbuild.exe Viewer.csproj /property:Configuration=Release /property:Platform=AnyCPU /property:AssemblyFileVersion=%major%.%minor%.%build% 

Die resultierende Anordnung sollte die Fileversion %major%.%minor%.%build% haben. Es ist für mich schmerzhaft, die AssemblyFileVersion-Einstellung in allen Projekten festzulegen. Und ein Programm, das dies tut, ist gegen meine Philosophie (ich möchte meine Quelle nicht durch automatisierte Prozesse verändern). Die Version sollte über das Build-Skript festgelegt werden. Es ist nicht notwendig, dass die AssemblyFileVersion in der AssemblyInfo.cs gesetzt wird

Oder gibt es eine Möglichkeit mit MSBuild, eine XML-Konfigurationsdatei anzugeben, die die Assembly-Informationen beschreibt?

Wäre toll, wenn es irgendwelche Ratschläge gibt.

grüße, Martin

Antwort

7

Die Version und AssemblyInfo Aufgaben aus dem MSBuild Community Tasks Projekt helfen können.

+2

Jedes Beispiel in Aktion? Versucht mit einem .wdproj und die referenzierten Assemblys haben die Version nicht aktualisiert. – yanta