Как настроить visual studio 2010 для установки версии проекта с автоинкрементом при каждой сборке - PullRequest
8 голосов
/ 11 августа 2010

Как настроить visual studio 2010 , чтобы установить версию проекта с автоинкрементом для каждой сборки?

Существует ли эта функция на vs2010?

Ответы [ 5 ]

16 голосов
/ 11 августа 2010

Изменить файл AssemblyInfo.cs:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

на

[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
15 голосов
/ 20 августа 2011

Как кто-то еще упоминает, 1.0. * Всегда заменяется на 1.0. {Date}. {Time], поэтому его всегда следует увеличивать (как вы могли подумать)

В VS2010 смена AssemblyVersion на [Assembly: AssemblyVersion ("1.0. *")] Работает, имейте в виду, что вы должны закрыть решение / проект, повторно открыть его затем пересоберите его (не соберите), чтобы обновить / изменить сборку + значения ревизии.

Дата / время, по-видимому, получены с момента открытия проекта, таким образом, закрытие / повторное открытие для обновления значений ревизии / сборки, я думаю, это полезно, если вы изменяете различные биты в проекте за один раз и он не будет постоянно изменять AssemblyVersion, возможно, ломая другие биты.

To return the date from the build value:
   DateAdd(DateInterval.Day, build, DateValue("01/01/2000"))
   ' build is the number of days from 1/1/2000
To return the time from the revision value:
   Date.FromOADate(revision / 1800 / 24) 
   ' depending on your timezone you may have DST/BST issue with resulting time 
4 голосов
/ 31 января 2011

AssemblyInfo.cs - файл не существует, если вы разрабатываете нативное программное обеспечение с помощью c / c ++ ... поэтому этот ответ бесполезен для многих разработчиков - можно заглянуть в http://autobuildversion.codeplex.com ... но это расширение, похоже, не работает с VS2010, хотя веб-сайт говорит об обратном - вам, возможно, будет хорошо, если вы используете более старые версии VS, хотя

1 голос
/ 21 января 2012
DateTime.Parse(@"1/1/2000")
    .AddDays(FileVersionInfo.GetVersionInfo(
        System.Reflection.Assembly.GetEntryAssembly().Location
      ).FileBuildPart)
    .AddSeconds(FileVersionInfo.GetVersionInfo(
        System.Reflection.Assembly.GetEntryAssembly().Location
      ).FilePrivatePart * 2)
1 голос
/ 19 апреля 2011

Я только что попробовал метод autobuildincrement и у меня были проблемы с Visual Studio 2010, однако я нашел способ заставить его работать. Установите для параметра «Инкремент до сборки» значение false. Тогда даже в Visual Studio 2010 файл assembly.info будет обновляться после каждой сборки.

Обратите внимание, что информация о сборке на вашей dll не изменится при первой сборке, но после этого будет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...