Skip to content

Upgrade dotnet 10 - #714

Open
romanett wants to merge 32 commits into
masterfrom
upgrade-dotnet-10
Open

Upgrade dotnet 10#714
romanett wants to merge 32 commits into
masterfrom
upgrade-dotnet-10

Conversation

@romanett

@romanett romanett commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Proposed changes

Upgrade all Winforms projects to net 10

Related Issues

  • Fixes #

Types of changes

What types of changes does your code introduce?
Put an x in the boxes that apply. You can also fill these out after creating the PR.

  • Bugfix (non-breaking change which fixes an issue)
  • Enhancement (non-breaking change which adds functionality)
  • Test enhancement (non-breaking change to increase test coverage)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected, requires version increase of Nuget packages)
  • Documentation Update (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have read the CONTRIBUTING doc.
  • I have signed the CLA.
  • I ran tests locally with my changes, all passed.
  • I fixed all failing tests in the CI pipelines.
  • I fixed all introduced issues with CodeQL and LGTM.
  • I have added tests that prove my fix is effective or that my feature works and increased code coverage.
  • I have added necessary documentation (if appropriate).
  • Any dependent changes have been merged and published in downstream modules.

Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

romanett added 25 commits August 6, 2026 08:02
…s (task 05.12); stub unsupported WIF/WCF security paths (Option C)
…sk 06): update Azure Containers Tools Targets 1.22.1 -> 1.23.0
@romanett
romanett requested a review from marcschier August 6, 2026 14:06
@romanett
romanett requested a review from Copilot August 6, 2026 14:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR retargets the WinForms-based sample/workshop applications to .NET 10 (net10.0-windows) and modernizes several legacy dependencies/APIs (notably System.IdentityModel/WCF-related bits and Entity Framework).

Changes:

  • Convert many legacy .NET Framework (v4.8) WinForms projects to SDK-style projects targeting net10.0-windows.
  • Update OPC UA server/node-manager code to newer API shapes (e.g., generic FindPredefinedNode<T>).
  • Migrate GDS server database layer from EF6 patterns to EF Core (plus schema initialization updates) and adjust config accordingly.

Reviewed changes

Copilot reviewed 71 out of 73 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Workshop/Views/Server/ViewsNodeManager.cs Update predefined-node lookup to generic API.
Workshop/Views/Server/Views Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Views/Client/Views Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/UserAuthentication/Server/UserAuthenticationServer.cs Remove legacy System.IdentityModel/WCF token handling and adjust certificate/impersonation paths for modern .NET.
Workshop/UserAuthentication/Server/UserAuthentication Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/UserAuthentication/Client/UserAuthentication Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/UserAuthentication/Client/MainForm.cs Stub out legacy SAML/Kerberos token creation for modern .NET.
Workshop/SimpleEvents/Server/SimpleEvents Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/SimpleEvents/Client/SimpleEvents Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/PerfTest/Server/PerfTest Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/PerfTest/Client/PerfTest Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Methods/Server/Methods Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Methods/Client/Methods Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/HistoricalEvents/Server/HistoricalEvents Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/HistoricalAccess/Tester/MainForm.cs Minor runtime cleanup (avoid unnecessary ToString() allocation).
Workshop/HistoricalAccess/Tester/Aggregate Tester.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/HistoricalAccess/Server/HistoricalAccess Server.csproj Convert to SDK-style and retarget to net10.0-windows (plus compile-item exclusions).
Workshop/HistoricalAccess/Client/ReadHistoryDlg.cs Remove legacy WCF-related usings.
Workshop/HistoricalAccess/Client/HistoricalAccess Client.csproj Convert to SDK-style and retarget to net10.0-windows (plus compile/resource exclusions).
Workshop/Empty/Server/Empty Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Empty/Client/Empty Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/DataTypes/Server/DataTypesServerConfiguration.cs Remove legacy WCF-related using.
Workshop/DataTypes/Server/DataTypes Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/DataTypes/Common/DataTypes Library.csproj Convert to SDK-style and retarget library to net10.0-windows (plus compile-item exclusions).
Workshop/DataTypes/Client/DataTypes Client.csproj Convert to SDK-style and retarget to net10.0-windows (plus compile/resource exclusions).
Workshop/DataAccess/Server/DataAccess Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/DataAccess/Client/DataAccess Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Common/Quickstart Library.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Boiler/Server/Boiler Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Boiler/Client/Boiler Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/AlarmCondition/Server/AlarmCondition Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Aggregation/Server/AggregationNodeManager.cs Update predefined-node lookup to generic API.
Workshop/Aggregation/Server/Aggregation Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Workshop/Aggregation/ConsoleAggregationServer/ConsoleAggregationServer.csproj Bump Azure Containers Tools Targets package version.
Workshop/Aggregation/Client/Aggregation Client.csproj Convert to SDK-style and retarget to net10.0-windows (plus compile/resource exclusions).
Samples/ServerControls.Net4/UA Server Controls.csproj Convert to SDK-style and retarget to net10.0-windows.
Samples/Server.Net4/UA Sample Server.csproj Convert to SDK-style and retarget to net10.0-windows.
Samples/ReferenceServer/Reference Server.csproj Convert to SDK-style and retarget to net10.0-windows (plus compile-item exclusions).
Samples/ReferenceClient/Reference Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Samples/GDS/Server/SqlUsersDatabase.cs Move DB init SQL execution to EF Core APIs.
Samples/GDS/Server/SqlApplicationsDatabase.cs Move DB init SQL execution to EF Core APIs.
Samples/GDS/Server/Program.cs Remove EF6-specific using.
Samples/GDS/Server/DB/usersdb.edmx.diagram Remove EF6 EDMX designer artifact.
Samples/GDS/Server/DB/usersdb.edmx Remove EF6 EDMX model artifact.
Samples/GDS/Server/DB/usersdb.Designer.cs Remove EF6 EDMX designer-generated file.
Samples/GDS/Server/DB/usersdb.cs Remove EF6 EDMX generated file.
Samples/GDS/Server/DB/usersdb.Context.cs Replace EF6 DbContext with EF Core DbContext + fluent mapping.
Samples/GDS/Server/DB/SqlRoleCast.cs Remove unused WindowsRuntime using.
Samples/GDS/Server/DB/gdsdb.edmx.diagram Remove EF6 EDMX designer artifact.
Samples/GDS/Server/DB/gdsdb.Designer.cs Remove EF6 EDMX designer-generated file.
Samples/GDS/Server/DB/gdsdb.cs Remove EF6 EDMX generated file.
Samples/GDS/Server/DB/gdsdb.Context.cs Replace EF6 DbContext with EF Core DbContext + fluent mapping.
Samples/GDS/Server/App.config Update connectionStrings away from EF6 metadata-based EntityClient to SqlClient-style strings.
Samples/GDS/Client/GlobalDiscoveryClient.csproj Convert to SDK-style and retarget to net10.0-windows.
Samples/Controls.Net4/Sessions/SecuritySettingsDlg.cs Remove legacy WCF/System.IdentityModel usings.
Samples/Controls.Net4/Sessions/ReadHistoryDlg.cs Remove legacy WCF/System.IdentityModel usings.
Samples/Controls.Net4/Sessions/EndpointViewDlg.cs Remove legacy WCF/System.IdentityModel usings.
Samples/Controls.Net4/Sessions/CreateSecureChannelDlg.cs Remove legacy WCF/System.IdentityModel usings.
Samples/Controls.Net4/ClientForm.cs Remove unused using.
Samples/ClientControls.Net4/Configuration/CertificatePropertiesListCtrl.cs Resolve type name ambiguity with explicit alias.
Samples/Client.Net4/UA Sample Client.csproj Convert to SDK-style and retarget to net10.0-windows.
Samples/GDS/Server/GlobalDiscoveryServer.csproj SDK-style/retarget + EF Core package references for GDS server.
.editorconfig Downgrade WFO1000 analyzer severity for net10 WinForms retarget.
Files not reviewed (2)
  • Samples/GDS/Server/DB/gdsdb.Designer.cs: Generated file
  • Samples/GDS/Server/DB/usersdb.Designer.cs: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Workshop/UserAuthentication/Server/UserAuthenticationServer.cs Outdated
Comment thread Samples/GDS/Server/DB/gdsdb.Context.cs
Comment thread Samples/GDS/Server/DB/usersdb.Context.cs
Comment thread Samples/GDS/Server/GlobalDiscoveryServer.csproj Outdated
romanett and others added 4 commits August 6, 2026 17:32
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants