2016-08-02 12 views
0

Ich habe derzeit eine VersionInfo.cs Datei, die Folgendes enthält.C# Versionsnummer über Umgebungsvariable zuweisen

using System.Reflection; 
using System.Runtime.CompilerServices; 
using System.Runtime.InteropServices; 

//Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Version 
//  Revision 
// 
//You can specify all the values or you can defaul the Revision and Build Numbers 
//by using the '*' as shown below: 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

Diese Datei als Link zu allen Projekten in meiner Lösung hinzugefügt wird, so in einem die Versionsnummer zu aktualisieren, aktualisiert alles. Das funktioniert gut.

Aber ich frage mich, ist es möglich, Versionsnummer aus einer Umgebungsvariablen abrufen und dann in der VersionInfo.cs Datei verwenden ?. Kann dies in der VersionInfo.cs Datei selbst gemacht werden ?.

Ich suchte nach so etwas und bis jetzt nichts.

+0

Es gibt ein anderes Thema dazu. Es kann helfen. http://stackoverflow.com/questions/650/automatic-update-version-number –

Antwort

0

Es scheint, als ob es nicht möglich ist, es innerhalb VersionInfo.cs selbst zu tun. Obwohl es möglich ist, spezielle Symbole an den C# -Compiler zu übergeben (siehe dazu auch MSDN Article), können sie im Gegensatz zu C/C++ - Symbolen keinen Wert enthalten.

Es ist jedoch sicher möglich, VersionInfo.cs algorithmisch mit zum Beispiel einem anderen einfachen C# -Programm zu erzeugen. Schreiben Sie zuerst ein Programm, das VersionInfo.cs mit Informationen modifiziert, die von einer anderen Quelle stammen, wahrscheinlich aus dem Methodenaufruf Environment.GetEnvironmentVariable. Fügen Sie dann einen Pre-Build-Befehl zu dem Build Ihres Projekts hinzu, finden Sie in MSDN article für Details wie es getan wird. Unter Pre-Build Ereignis, rufen Sie Ihr Programm auf, so dass es VersionInfo.cs aktualisiert wird, bevor der Compiler aufgerufen wird.

Verwandte Themen