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
Jedes Beispiel in Aktion? Versucht mit einem .wdproj und die referenzierten Assemblys haben die Version nicht aktualisiert. – yanta