using System; using System.Collections.Generic; using System.IO; namespace ProgramIncrimenter { static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main ( ) { FileInfo assemblyInfo = new FileInfo ( @"C:\Programming\CSharp\ProgramIncrimenter\ProgramIncrimenter\Properties\AssemblyInfo.cs" ); StreamReader streamReader = streamReader = new StreamReader ( assemblyInfo.FullName ); string data = streamReader.ReadToEnd ( ); streamReader.Close ( ); string [ ] dataSplit; dataSplit = data.Split ( '\n' ); int versionLineIndex = 0; int fileVersionLineIndex = 0; for ( int i = 0; i < dataSplit.Length; i++ ) { if ( dataSplit [ i ].Contains ( "AssemblyVersion" ) ) { versionLineIndex = i; } if ( dataSplit [ i ].Contains ( "AssemblyFileVersion" ) ) { fileVersionLineIndex = i; } } int majorVersion; int minorVersion; int buildNumber; int revision; // [assembly: AssemblyVersion ( "1.0.0.0" )] // [assembly: AssemblyFileVersion ( "1.0.0.0" )] string version = dataSplit [ versionLineIndex ].Split ( '"' ) [ 1 ]; System.Diagnostics.Debug.WriteLine ( version ); majorVersion = int.Parse ( version.Split ( '.' ) [ 0 ] ); minorVersion = int.Parse ( version.Split ( '.' ) [ 1 ] ); buildNumber = int.Parse ( version.Split ( '.' ) [ 2 ] ); revision = int.Parse ( version.Split ( '.' ) [ 3 ] ); buildNumber++; string newVersions = majorVersion + "." + minorVersion + "." + buildNumber + "." + revision; dataSplit [ versionLineIndex ] = "[assembly: AssemblyVersion ( \"" + newVersions + "\" )]\n"; dataSplit [ fileVersionLineIndex ] = "[assembly: AssemblyFileVersion ( \"" + newVersions + "\" )]\n"; StreamWriter streamWriter = new StreamWriter ( assemblyInfo.FullName, false ); streamWriter.Flush ( ); for ( int i = 0; i < dataSplit.Length; i++ ) { streamWriter.Write ( dataSplit [ i ] ); } streamWriter.Flush ( ); streamWriter.Close ( ); } } }