From b22ca759f681543efafefe9bc4c56e2477bcf798 Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Fri, 24 Oct 2025 08:25:56 -0700 Subject: [PATCH] Update API target to .NET Framework 4.8.1 The project was targeting 4.6.2, which was the current version when work first began. This update should not cause any change in behavior. The only real value in doing this is that it means people working on the project won't have to install the older SDK components. This may require performing a manual "clobber" in existing source trees: close Visual Studio, then in each of the seven projects, manually remove the "bin" and "obj" directories. Using the VS "clean" feature doesn't seem to clear out all of the dependencies, and you get weird build complaints about missing System classes. I'm not anticipating any compatibility issues with this switch. Framework 4.8 shipped in April 2019, and the final version of .NET Framework was released August 2022, so anybody who has Framework installed should have a compatible version. This change does not move the libraries from .NET Standard 2.0 to 2.1, because 2.0 was the last version supported by Framework. (At some point it might be useful to upgrade to the current .NET, but that is a more significant change.) --- CommonWPF/CommonWPF.csproj | 3 ++- CommonWPF/Properties/Resources.Designer.cs | 5 +++-- CommonWPF/Properties/Settings.Designer.cs | 14 +++++--------- MakeDist/App.config | 6 +++--- MakeDist/MakeDist.csproj | 3 ++- MakeDist/Properties/Resources.Designer.cs | 2 +- MakeDist/Properties/Settings.Designer.cs | 2 +- README.md | 9 ++++----- SourceGen/App.config | 6 +++--- SourceGen/Properties/Resources.Designer.cs | 2 +- SourceGen/Properties/Settings.Designer.cs | 2 +- SourceGen/SourceGen.csproj | 3 ++- SourceNotes.md | 8 ++++---- 13 files changed, 32 insertions(+), 33 deletions(-) diff --git a/CommonWPF/CommonWPF.csproj b/CommonWPF/CommonWPF.csproj index f23cf2c..d5d0b5e 100644 --- a/CommonWPF/CommonWPF.csproj +++ b/CommonWPF/CommonWPF.csproj @@ -8,11 +8,12 @@ library CommonWPF CommonWPF - v4.6.2 + v4.8.1 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true + true diff --git a/CommonWPF/Properties/Resources.Designer.cs b/CommonWPF/Properties/Resources.Designer.cs index 4720be0..71a4086 100644 --- a/CommonWPF/Properties/Resources.Designer.cs +++ b/CommonWPF/Properties/Resources.Designer.cs @@ -9,6 +9,7 @@ //------------------------------------------------------------------------------ namespace CommonWPF.Properties { + using System; /// @@ -18,7 +19,7 @@ namespace CommonWPF.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -37,7 +38,7 @@ namespace CommonWPF.Properties { [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { - if ((resourceMan == null)) { + if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CommonWPF.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } diff --git a/CommonWPF/Properties/Settings.Designer.cs b/CommonWPF/Properties/Settings.Designer.cs index 926afbe..c02666f 100644 --- a/CommonWPF/Properties/Settings.Designer.cs +++ b/CommonWPF/Properties/Settings.Designer.cs @@ -8,21 +8,17 @@ // //------------------------------------------------------------------------------ -namespace CommonWPF.Properties -{ +namespace CommonWPF.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - public static Settings Default - { - get - { + public static Settings Default { + get { return defaultInstance; } } diff --git a/MakeDist/App.config b/MakeDist/App.config index b50c74f..5ab1a35 100644 --- a/MakeDist/App.config +++ b/MakeDist/App.config @@ -1,6 +1,6 @@ - + - + - \ No newline at end of file + diff --git a/MakeDist/MakeDist.csproj b/MakeDist/MakeDist.csproj index eb761ef..ae90481 100644 --- a/MakeDist/MakeDist.csproj +++ b/MakeDist/MakeDist.csproj @@ -8,12 +8,13 @@ WinExe MakeDist MakeDist - v4.6.2 + v4.8.1 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true true + AnyCPU diff --git a/MakeDist/Properties/Resources.Designer.cs b/MakeDist/Properties/Resources.Designer.cs index fc2c07f..78375e7 100644 --- a/MakeDist/Properties/Resources.Designer.cs +++ b/MakeDist/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace MakeDist.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/MakeDist/Properties/Settings.Designer.cs b/MakeDist/Properties/Settings.Designer.cs index 2f70d3f..1d7b004 100644 --- a/MakeDist/Properties/Settings.Designer.cs +++ b/MakeDist/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace MakeDist.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/README.md b/README.md index 2f89392..24fc3ba 100644 --- a/README.md +++ b/README.md @@ -135,13 +135,12 @@ There is currently no installer -- just unzip the archive and run the "SourceGen.exe" executable. The data files used by the program are found automatically in the directory where the .EXE lives. -You need to have Microsoft .NET Framework v4.6.2 or later installed. Most +You need to have Microsoft .NET Framework v4.8.1 installed. Most people will already have this. If SourceGen doesn't seem to want to start, -download the latest version (currently v4.8) -[directly from Microsoft](https://dotnet.microsoft.com/download/dotnet-framework/net48). +download the latest version +[directly from Microsoft](https://dotnet.microsoft.com/en-us/download/dotnet-framework). The framework requires Win7 SP1, Win8.1, Win10 updated through at least the -Anniversary Update (1607), or Win11. (One user who had trouble with the -4.7.2 installer was able to get the 4.6.2 installer to work.) +Anniversary Update (1607), or Win11. SourceGen does not run natively on Linux or Mac OS. It is reported to work with recent versions (v9+) of the [Wine emulation layer](https://winehq.org/). diff --git a/SourceGen/App.config b/SourceGen/App.config index 9e14e6c..22078ca 100644 --- a/SourceGen/App.config +++ b/SourceGen/App.config @@ -1,7 +1,7 @@ - + - + @@ -15,4 +15,4 @@ --> - \ No newline at end of file + diff --git a/SourceGen/Properties/Resources.Designer.cs b/SourceGen/Properties/Resources.Designer.cs index fbfd35e..25473be 100644 --- a/SourceGen/Properties/Resources.Designer.cs +++ b/SourceGen/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace SourceGen.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/SourceGen/Properties/Settings.Designer.cs b/SourceGen/Properties/Settings.Designer.cs index f6b44ab..1998f3f 100644 --- a/SourceGen/Properties/Settings.Designer.cs +++ b/SourceGen/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace SourceGen.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/SourceGen/SourceGen.csproj b/SourceGen/SourceGen.csproj index 6a79cf4..7010468 100644 --- a/SourceGen/SourceGen.csproj +++ b/SourceGen/SourceGen.csproj @@ -8,12 +8,13 @@ WinExe SourceGen SourceGen - v4.6.2 + v4.8.1 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true true + AnyCPU diff --git a/SourceNotes.md b/SourceNotes.md index 8dd3d53..d427942 100644 --- a/SourceNotes.md +++ b/SourceNotes.md @@ -2,14 +2,14 @@ All of the code is written in C# .NET, using the (free to download) Visual Studio Community 2022 IDE as the primary development environment. The user -interface uses the WPF API, targeted at .NET Framework 4.6.2. -To build the sources, clone the git repository and open "WorkBench.sln" -in Visual Studio 2019 or later. The Solution file is called +interface uses the WPF API, targeted at the final release of .NET +Framework (4.8.1). To build the sources, clone the git repository and open +"WorkBench.sln" in Visual Studio 2019 or later. The Solution file is called "WorkBench.sln" rather than "6502bench.sln" because some things in Visual Studio got weird when it didn't start with a letter. When installing Visual Studio, be sure to include ".NET Desktop Development". -You may also need to install the .NET Framework 4.6.2 "Dev Pack" (as a +You may also need to install the .NET Framework 4.8.1 "Dev Pack" (as a separate download, or via the "individual components" tab in the Visual Studio Installer).