Visual Studio 2012 için otomatik build versionunu arttırma işlemi

Read Time:1 Minute, 11 Second

Build Version Increment – Visual Studio With T4

Visual Studio 2012 için otomatik build versionunu arttırma işlemini uyarlama süreçini resimlerle anlatacağım. 
Uygulamak istediğimiz projemizde ilk olarak AssemblyInfo.cs sınıfı üzerinden AssemblyFileVersion özelliğini kapatmamız gerekiyor. 
Sonrasında projemize “AssemblyFileVersion.tt” ismi ile  Text Template ekliyelim.
AssmblyFileVersion.tt dosyamızın içeriğini aşağıdaki gibi olduralım. Her build işleminde version değerinin revision özelliğini +1 yapmaktadır. (Major.Minor.Build.Revision)

 

<#@ template language="C#" hostSpecific="True"#>
<#@ output extension="cs" #>
<#@ import namespace="System.IO" #>
<#
int revisionNumber;
try
{
using(var f = File.OpenText(Host.ResolvePath("AssemblyFileVersion.cs")))
{
string s = f.ReadLine().Replace("//","");
revisionNumber = int.Parse(s) + 1;
}
}catch
{
revisionNumber = 0;
}
#>
//<#=revisionNumber#>
//
// This code was generated by a tool. Please do not change this document in any of its parts.
//

using System.Reflection;

[assembly: AssemblyFileVersion("1.0.0.<#= revisionNumber #>")]

Son adım bir adım kaldı. AssemblyFileVersion.tt dosyasını her build işleminden önce çalıştırmak. Projemizin Property > Builds Events > Pre-build event command line kısmında aşağıdaki kodu eklememiz yeterli.

 

set textTemplatingPath="%CommonProgramFiles(x86)%Microsoft SharedTextTemplating$(VisualStudioVersion)texttransform.exe"
if %textTemplatingPath%=="Microsoft SharedTextTemplating$(VisualStudioVersion)texttransform.exe" set textTemplatingPath="%CommonProgramFiles%Microsoft SharedTextTemplating$(VisualStudioVersion)texttransform.exe"
%textTemplatingPath% "$(ProjectDir)AssemblyFileVersion.tt"

Projemizi derliyelim ve dosya version değerini kontrol edelim. sürekli arttığını göreceksiniz.

Proje örneği : https://drive.google.com/file/d/0ByRFI3ULXVPuZ3NvaXIxMExHT1E/view

ÖNER KAYA’DAN ALINTIDIR..
ORJİNALİ: http://onerkaya.blogspot.com.tr/2015/03/build-version-increment-visual-studio.html

About Post Author

Sayfa Yoneticisi

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
Previous post trigger oluşturup veritabanında olup biteni saklamak
Next post geçmiş zaman datetime