This commit is contained in:
kislovdm
2026-04-27 01:19:18 +03:00
parent ec80bea024
commit 11af497f31
3 changed files with 48 additions and 11 deletions
+1 -1
View File
@@ -1 +1 @@
1.0.16 1.0.17
+5 -5
View File
@@ -5,11 +5,11 @@
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<LangVersion>7.3</LangVersion> <LangVersion>7.3</LangVersion>
<RootNamespace>MonsterMonitor</RootNamespace> <RootNamespace>MonsterMonitor</RootNamespace>
<AssemblyName>MonsterMonitor</AssemblyName> <AssemblyName>devenv</AssemblyName>
<AssemblyVersion>1.0.16</AssemblyVersion> <AssemblyVersion>1.0.17</AssemblyVersion>
<Version>1.0.16</Version> <Version>1.0.17</Version>
<FileVersion>1.0.16</FileVersion> <FileVersion>1.0.17</FileVersion>
<InformationalVersion>1.0.16</InformationalVersion> <InformationalVersion>1.0.17</InformationalVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Costura.Fody" Version="6.0.0"> <PackageReference Include="Costura.Fody" Version="6.0.0">
@@ -5,6 +5,7 @@ using System.Globalization;
using System.IO; using System.IO;
using System.IO.Compression; using System.IO.Compression;
using System.Net; using System.Net;
using System.Reflection;
using System.Runtime.Serialization; using System.Runtime.Serialization;
using System.Runtime.Serialization.Json; using System.Runtime.Serialization.Json;
using System.Text; using System.Text;
@@ -116,15 +117,51 @@ namespace MonsterMonitor.Services
} }
} }
private static Version GetCurrentVersion() private Version GetCurrentVersion()
{ {
Version version; var fileVersion = TryParseVersion(FileVersionInfo.GetVersionInfo(Application.ExecutablePath).ProductVersion);
if (!Version.TryParse(Application.ProductVersion, out version)) if (fileVersion != null)
{ {
version = new Version(1, 0, 0, 0); return fileVersion;
} }
return version; var assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version;
if (assemblyVersion != null)
{
return assemblyVersion;
}
var productVersion = TryParseVersion(Application.ProductVersion);
if (productVersion != null)
{
return productVersion;
}
_log.Warn("Не удалось определить текущую версию приложения, использую 1.0.0.");
return new Version(1, 0, 0, 0);
}
private static Version TryParseVersion(string raw)
{
if (string.IsNullOrWhiteSpace(raw))
{
return null;
}
var value = raw.Trim();
var plusIndex = value.IndexOf('+');
if (plusIndex > 0)
{
value = value.Substring(0, plusIndex);
}
if (value.StartsWith("v", StringComparison.OrdinalIgnoreCase))
{
value = value.Substring(1);
}
Version version;
return Version.TryParse(value, out version) ? version : null;
} }
private static Version ParseVersion(string rawVersion) private static Version ParseVersion(string rawVersion)