Номер версии, увеличивающийся автоматически, не отображается в поле "О программе"

У меня есть небольшое приложение VB.NET, над которым я работаю, используя полную версию Visual Studio 2005. В свойствах публикации проекта я установил для него значение Автоматически увеличивать ревизию при каждой публикации .

Проблема в том, что он только увеличивает версию в файлах установки. Похоже, что номер версии в поле «О программе» (который является общим встроенным шаблоном окна «О программе») не обновляется. Этот номер версии, похоже, исходит из My.Application.Info.Version .

Что мне следует использовать вместо этого, чтобы мой автоматически увеличивающийся номер версии отображался в поле «О программе»?

Ответов (5)

Решение

Измените код для поля «О программе» на

Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Deployment.CurrentVersion.ToString)

Обратите внимание, что все остальные ответы верны на вопрос «как мне получить свою версию сборки», а не на заданный вопрос «как мне показать мою опубликованную версию».

Максимум 65535 для каждого из 4 значений, но при использовании 1.0. * Или 1.0. *. * Компоновщик сборки будет использовать закодированную метку времени (так что это не простое автоматическое приращение, и оно может повторяться!), подойдет 65535.

См. Мой ответ на этот вопрос для получения дополнительных ссылок и подробностей.

Я не эксперт по VB.NET, но пробовали ли вы установить значение, например, 1.0.0. *? Это должно увеличить номер редакции (по крайней мере, в AssemblyInfo.cs в C#).

Мне потребовалась секунда, чтобы найти это, но я считаю, что это то, что вы ищете:

using System;
using System.Reflection;
public class VersionNumber
{
   public static void Main()
   {
      System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
      Version version = assembly.GetName().Version;
      Console.WriteLine ("Version: {0}", version);
      Console.WriteLine ("Major: {0}", version.Major);
      Console.WriteLine ("Minor: {0}", version.Minor);
      Console.WriteLine ("Build: {0}", version.Build);
      Console.WriteLine ("Revision: {0}", version.Revision);
      Console.Read();
   }
}

Он был основан на коде, представленном на следующем сайте - http://en.csharp-online.net/Display_type_version_number

Выбранная вами опция предназначена только для обновления номера настройки. Чтобы обновить номер программы, вам нужно изменить AssemblyInfo.

C# [сборка: AssemblyVersion ("XY ")] [сборка: AssemblyFileVersion ("XY ")]

Сборка VB.NET: AssemblyVersion ("XY *")