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.)
This commit is contained in:
Andy McFadden committed 2025-10-24 08:43:30 -07:00
1 parent 417a9e55ad
commit b22ca759f6
13 files changed
+30 -31

No files matched your search

+2 -1
View File
@@ -8,11 +8,12 @@
<OutputType>library</OutputType>
<RootNamespace>CommonWPF</RootNamespace>
<AssemblyName>CommonWPF</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
+3 -2
View File
@@ -9,6 +9,7 @@
//------------------------------------------------------------------------------
namespace CommonWPF.Properties {
using System;
/// <summary>
@@ -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;
}
+5 -9
View File
@@ -8,21 +8,17 @@
// </auto-generated>
//------------------------------------------------------------------------------
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;
}
}
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/>
</startup>
</configuration>
+2 -1
View File
@@ -8,12 +8,13 @@
<OutputType>WinExe</OutputType>
<RootNamespace>MakeDist</RootNamespace>
<AssemblyName>MakeDist</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
+1 -1
View File
@@ -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 {
+1 -1
View File
@@ -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())));
+4 -5
View File
@@ -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/).
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/>
</startup>
<!-- https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/how-to-create-and-initialize-trace-listeners -->
+1 -1
View File
@@ -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 {
+1 -1
View File
@@ -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())));
+2 -1
View File
@@ -8,12 +8,13 @@
<OutputType>WinExe</OutputType>
<RootNamespace>SourceGen</RootNamespace>
<AssemblyName>SourceGen</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
+4 -4
View File
@@ -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).