Номер версии в тексте формы Winform - PullRequest
50 голосов
/ 24 августа 2011

Как я могу вставить номер версии сборки (который я установил для автоматического увеличения) в текст формы Winform?

Ответы [ 6 ]

74 голосов
/ 24 августа 2011

Любой из них будет работать:

var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; 
this.Text = String.Format("My Application Version {0}", version);

string version = System.Windows.Forms.Application.ProductVersion; 
this.Text = String.Format("My Application Version {0}", version);

Предполагается, что это выполняется на Form, который вы хотите отобразить на

14 голосов
/ 15 апреля 2015
Text = Application.ProductVersion

Быстрый способ получить полную версию в виде строки (например, "1.2.3.4")

9 голосов
/ 21 августа 2013

Я использую следующее в WinForm:

public MainForm()
{
  InitializeComponent();
  Version version = Assembly.GetExecutingAssembly().GetName().Version;
  Text = Text + " " + version.Major + "." + version.Minor + " (build " + version.Build + ")"; //change form title
}

Не отображается номер редакции для пользователя, достаточно номера сборки для технической информации

Убедитесь, что ваш AssemblyInfo.cs заканчивается наследующее (удалите версию, которая там есть по умолчанию) для VisualStudio для автоинкремента сборки и номера ревизии.Вы должны обновлять основную и вспомогательную версии самостоятельно при каждом выпуске (обновлять основную версию для новых функций, вспомогательную версию, когда вы просто исправляете):

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
3 голосов
/ 24 августа 2011

в классе System.Reflection.AssemblyName, например.

Assembly.GetExecutingAssembly().GetName().Version.ToString()
2 голосов
/ 24 августа 2011

как вы видите здесь: http://msdn.microsoft.com/en-us/library/system.reflection.assemblyname.version.aspx

class Example
{
    static void Main()
    {
        Console.WriteLine("The version of the currently executing assembly is: {0}",
            Assembly.GetExecutingAssembly().GetName().Version);

        Console.WriteLine("The version of mscorlib.dll is: {0}",
            typeof(String).Assembly.GetName().Version);
    }
}
1 голос
/ 24 августа 2011
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location);
return fvi.ProductVersion;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...