From 04963e1bbe837fd6c39b7ba1ecac3f005b7ee615 Mon Sep 17 00:00:00 2001 From: Scrub <72096833+ScrubN@users.noreply.github.com> Date: Tue, 6 Aug 2024 14:02:44 -0400 Subject: [PATCH] Move WPF version to AssemblyInfo (#1183) * Specify WPF version in AssemblyInfo This fixes an issue with upgrading settings since the default settings provider uses the assembly version for upgrading. * Strip revision from assembly version --- TwitchDownloaderWPF/Extensions/VersionExtensions.cs | 9 +++++++++ TwitchDownloaderWPF/MainWindow.xaml.cs | 5 ++++- TwitchDownloaderWPF/Properties/AssemblyInfo.cs | 3 +-- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 TwitchDownloaderWPF/Extensions/VersionExtensions.cs diff --git a/TwitchDownloaderWPF/Extensions/VersionExtensions.cs b/TwitchDownloaderWPF/Extensions/VersionExtensions.cs new file mode 100644 index 00000000..f461f9fb --- /dev/null +++ b/TwitchDownloaderWPF/Extensions/VersionExtensions.cs @@ -0,0 +1,9 @@ +using System; + +namespace TwitchDownloaderWPF.Extensions +{ + public static class VersionExtensions + { + public static Version StripRevisionIfDefault(this Version version) => version.Revision < 1 ? new Version(version.Major, version.Minor, version.Build) : version; + } +} \ No newline at end of file diff --git a/TwitchDownloaderWPF/MainWindow.xaml.cs b/TwitchDownloaderWPF/MainWindow.xaml.cs index d429aefc..d99f7f5b 100644 --- a/TwitchDownloaderWPF/MainWindow.xaml.cs +++ b/TwitchDownloaderWPF/MainWindow.xaml.cs @@ -3,11 +3,13 @@ using System.Diagnostics; using System.IO; using System.Net; +using System.Reflection; using System.Runtime.InteropServices; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Interop; +using TwitchDownloaderWPF.Extensions; using TwitchDownloaderWPF.Properties; using TwitchDownloaderWPF.Services; using Xabe.FFmpeg; @@ -88,7 +90,8 @@ private async void Window_Loaded(object sender, RoutedEventArgs e) // it will sometimes start behind other windows, usually (but not always) due to the user's actions. FlashTaskbarIconIfNotForeground(TimeSpan.FromSeconds(3)); - var currentVersion = Version.Parse("1.55.0"); + // Despite not specifying a revision in the AssemblyVersion, the compiler still adds one. We don't want that. + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version!.StripRevisionIfDefault(); #if DEBUG Title = $"Twitch Downloader v{currentVersion} - DEBUG"; #else diff --git a/TwitchDownloaderWPF/Properties/AssemblyInfo.cs b/TwitchDownloaderWPF/Properties/AssemblyInfo.cs index 2128e947..910cd3f4 100644 --- a/TwitchDownloaderWPF/Properties/AssemblyInfo.cs +++ b/TwitchDownloaderWPF/Properties/AssemblyInfo.cs @@ -51,5 +51,4 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.55.0")]