Как отобразить номер версии и автоматически увеличить его в приложении ASP.Net MVC — 5

Я работаю над веб-приложением ASP.Net MVC. Итак, я вношу изменения в localhost, а затем запускаю его и проверяю. Сообщение, которое я проверяю в своем коде. На главном сервере TEAMCITY создает проект, и изменения вводятся в действие. Я новичок, поэтому не знаю, как все это происходит. Кроме того, мой менеджер хочет, чтобы я показывал номер версии на website footer. Итак, я просмотрел эту ссылку Добавить номер версии и внес следующие изменения.

файл cshtml

     var version = @ViewContext.Controller.GetType().Assembly.GetName().Version;
     <p>Version @version</p>

     //and in AssemblyInfo.cs file I added
[assembly: AssemblyVersion("10.999.7.9")]
[assembly: AssemblyFileVersion("10.999.999.999")]

Теперь на моем локальном хосте я вижу только 10.999.7.9.

Затем я нашел одну ссылку, в которой говорилось, что мне нужно использовать «*» для автоматического увеличения номера версии. эта ссылка Увеличить номер версии

Но теперь мой менеджер говорит мне отменить все изменения в файле AssemblyInfo.cs и оставить его исходным, который был

[assembly: AssemblyVersion("10.999.999.999")]

[assembly: AssemblyFileVersion("10.999.999.999")]

Последние изменения, которые я проверяю

[assembly: AssemblyVersion("10.999.999.999")] // BY DEFAULT
[assembly: AssemblyFileVersion("10.999.999.999")]  // BY DEFAULT

и оставьте изменение файла cshtml без изменений

CSHTML

 var version = @ViewContext.Controller.GetType().Assembly.GetName().Version;
         <p>Version @version</p>

Так это все? Судя по всему, team city перезапишет информацию AssemblyInfo.cs и обновит номер версии. Я здесь совершенно запутался. Я имею в виду, мне не нужно использовать * для автоматического увеличения номера версии. Кроме того, как город команды перезаписывает файл Assembly.cs, чтобы приведенный ниже код имел правильный номер версии.

var version = @ViewContext.Controller.GetType().Assembly.GetName().Version;

Я что-то упустил или мой менеджер упустил какие-то детали, и он ошибается. И чтобы получить правильный номер версии и автоматически увеличить его, мне нужно также внести изменения в файл Assembly.cs и проверить файл AssemblyInfo.cs? Пожалуйста, помогите мне.


person Unbreakable    schedule 17.01.2017    source источник


Ответы (1)


Вы хотите настроить функцию сборки под названием «Исправление сборок» в TeamCity.

Вот соответствующая ссылка

TeamCity заменит версию сборки в процессе сборки и вернет ее после завершения сборки, но скомпилированная версия будет такой, какой ее называет TeamCity.

Затем в моем Global.asax у меня есть этот код в Application_Start

        Version version = Assembly.GetExecutingAssembly().GetName().Version;
        Application["Version"] = String.Format("{0}.{1}", version.Major, version.Minor);

Затем в моем _Layout.cshtml у меня есть

        <footer>
            &copy; @DateTime.Now.Year
            Version: @HttpContext.Current.Application["Version"]
        </footer>
person Fran    schedule 17.01.2017