private bool ParseCSForVersion(string filePath) { try { CSFileContent = File.ReadAllText(filePath); indexAssemblyVersion = CSFileContent.IndexOf(startOfAssemblyVersion); if (indexAssemblyVersion == -1) { return(false); } indexAssemblyVersionEnd = CSFileContent.IndexOf('"', indexAssemblyVersion + startOfAssemblyVersion.Length); Version = new Version(CSFileContent.Substring(indexAssemblyVersion, indexAssemblyVersionEnd - indexAssemblyVersion)); VersionLoaded = true; CSFilePath = filePath; return(true); } catch { } return(false); }
public async Task SaveVersionAsync() { if (!VersionLoaded) { return; } await Task.Run(() => { CSFileContent = CSFileContent.Remove(indexAssemblyVersion, indexAssemblyVersionEnd - indexAssemblyVersion); CSFileContent = CSFileContent.Insert(indexAssemblyVersion, $"{startOfAssemblyVersion}{Version.ToString()}"); indexFileVersion = CSFileContent.IndexOf(startOfAssemblyFileVersion); if (indexFileVersion != -1) { indexFileVersionEnd = CSFileContent.IndexOf('"', indexFileVersion + startOfAssemblyFileVersion.Length); CSFileContent = CSFileContent.Remove(indexFileVersion, indexFileVersionEnd - indexFileVersion); CSFileContent = CSFileContent.Insert(indexFileVersion, $"{startOfAssemblyFileVersion}{Version.ToString()}"); } File.WriteAllText(CSFilePath, CSFileContent); }); }