Files
Modules/.github/upgrades/dotnet-upgrade-plan.md
2025-12-29 12:52:53 +01:00

9.2 KiB

.NET 8.0 Upgrade Plan

Execution Steps

Execute steps below sequentially one by one in the order they are listed.

  1. Validate that an .NET 8.0 SDK required for this upgrade is installed on the machine and if not, help to get it installed.
  2. Ensure that the SDK version specified in global.json files is compatible with the .NET 8.0 upgrade.
  3. Upgrade Logging\Logging.vbproj.
  4. Upgrade Encryption\Encryption.vbproj.
  5. Upgrade Base\Base.vbproj.
  6. Upgrade ZooFlow\ZooFlow.vbproj.
  7. Upgrade Interfaces\Interfaces.vbproj.
  8. Upgrade Database\Database.vbproj.
  9. Upgrade Config\Config.vbproj.
  10. Upgrade Filesystem\Filesystem.vbproj.
  11. Upgrade Messaging\Messaging.vbproj.
  12. Upgrade Windream\Windream.vbproj.
  13. Upgrade Windows\Windows.vbproj.
  14. Upgrade Patterns\Patterns.vbproj.
  15. Upgrade License\License.vbproj.
  16. Upgrade Jobs\Jobs.vbproj.
  17. Upgrade EDMIAPI\EDMI.API.vbproj.

Settings

This section contains settings and data used by execution steps.

Excluded projects

Keine Projekte ausgeschlossen.

Aggregate NuGet packages modifications across all projects

NuGet packages used across all selected projects or their dependencies that need version update in projects that reference them.

Package Name Current Version New Version Description
DigitalData.Modules.Logging 2.6.5 No supported .NET 8 compatible package available; evaluate replacement.
EntityFramework 6.4.4 6.5.1 Required newer EF 6.5.1 for .NET 8 compatibility and LTS support.
EntityFramework.Firebird 6.4.0 10.1.0 Update to Firebird 10.1.0 for .NET 8 compatibility.
GdPicture 14.3.18 14.2.100 Use 14.2.100 as recommended compatible build.
Microsoft.Identity.Client 4.55.0 4.79.2 Security vulnerability fix and current MSAL LTS recommendation.
Microsoft.IdentityModel.Abstractions 6.22.0 8.15.0 Move to latest IdentityModel LTS version.
Microsoft.VisualBasic 10.3.0 Functionality provided by .NET 8 framework reference; remove package.
Newtonsoft.Json 13.0.3 13.0.4 Bring Newtonsoft.Json to supported patch level.
S22.Imap 3.6.0.0 No supported .NET 8 compatible package available; evaluate alternative.
System.Buffers 4.6.0 Functionality provided by .NET 8 framework reference; remove package.
System.Data.Odbc 6.0.1 8.0.1 Update to provider version aligned with .NET 8.
System.Memory 4.6.0 Functionality provided by .NET 8 framework reference; remove package.
System.Numerics.Vectors 4.6.0 Functionality provided by .NET 8 framework reference; remove package.
System.Runtime.CompilerServices.Unsafe 6.1.0 6.1.2 Align with latest patch to match .NET 8 dependencies.
System.Threading.Tasks.Extensions 4.5.4 Functionality provided by .NET 8 framework reference; remove package.
System.ValueTuple 4.5.0 Functionality provided by .NET 8 framework reference; remove package.

Project upgrade details

Logging/Logging.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

Encryption/Encryption.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

Base/Base.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0-windows.
  • Convert the project file to SDK-style format.

ZooFlow/ZooFlow.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0-windows.
  • Convert the project file to SDK-style format.

Interfaces/Interfaces.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • Update GdPicture from 14.3.18 to 14.2.100 (compatibility recommendation).
  • Update Newtonsoft.Json from 13.0.3 to 13.0.4.
  • Update System.Runtime.CompilerServices.Unsafe from 6.1.0 to 6.1.2.
  • Remove Microsoft.VisualBasic, System.Buffers, System.Memory, System.Numerics.Vectors, System.Threading.Tasks.Extensions, and System.ValueTuple because their APIs are provided by the .NET 8 framework.

Database/Database.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • Update EntityFramework.Firebird from 6.4.0 to 10.1.0.
  • Update EntityFramework from 6.4.4 to 6.5.1.
  • Update System.Data.Odbc from 6.0.1 to 8.0.1.

Config/Config.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0-windows.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • Update EntityFramework.Firebird from 6.4.0 to 10.1.0.
  • Update EntityFramework from 6.4.4 to 6.5.1.
  • Update System.Data.Odbc from 6.0.1 to 8.0.1.

Filesystem/Filesystem.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

Messaging/Messaging.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0-windows.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • DigitalData.Modules.Logging 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.
  • S22.Imap 3.6.0.0 has no supported .NET 8 version; evaluate replacement.
  • Update Microsoft.Identity.Client from 4.55.0 to 4.79.2 (security fix).
  • Update Microsoft.IdentityModel.Abstractions from 6.22.0 to 8.15.0.

Windream/Windream.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • DigitalData.Modules.Logging 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.

Windows/Windows.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0-windows.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • DigitalData.Modules.Logging 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.

Patterns/Patterns.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0-windows.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • DigitalData.Modules.Logging 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.

License/License.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

Jobs/Jobs.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.

NuGet packages changes:

  • Update GdPicture from 14.3.18 to 14.2.100.
  • Update Newtonsoft.Json from 13.0.3 to 13.0.4.
  • Update System.Runtime.CompilerServices.Unsafe from 6.1.0 to 6.1.2.
  • Remove Microsoft.VisualBasic, System.Buffers, System.Memory, System.Numerics.Vectors, System.Threading.Tasks.Extensions, and System.ValueTuple because their APIs are provided by the .NET 8 framework.

EDMIAPI/EDMI.API.vbproj modifications

Project properties changes:

  • Target framework should be changed from .NETFramework,Version=v4.6.2 to net8.0.
  • Convert the project file to SDK-style format.