Skip to content

Upgrade project to .NET 10 (net10.0-windows) - #62

Open
ndavat wants to merge 1 commit into
meverett:masterfrom
ndavat:feature/upgrade10
Open

Upgrade project to .NET 10 (net10.0-windows)#62
ndavat wants to merge 1 commit into
meverett:masterfrom
ndavat:feature/upgrade10

Conversation

@ndavat

@ndavat ndavat commented Aug 14, 2026

Copy link
Copy Markdown

Migrate InfluxDB Studio from .NET Framework 4.6.1 to .NET 10, targeting net10.0-windows only. The project was previously partially migrated on this branch; this commit completes a clean, working upgrade.

Project system

  • Convert CymaticLabs.InfluxDB.Studio.csproj to SDK-style (was legacy MSBuild/VS2015 format, ~600 lines reduced to a small SDK project).
  • Replace packages.config with PackageReference items.
  • Enable Windows Forms via true.
  • Set false (kept existing AssemblyInfo.cs) and 7.0.

Package upgrades

  • InfluxData.Net 8.0.1 (from 6.0.5)
  • Scintilla5.NET 7.0.0 (replaces ScintillaNET)
  • log4net 3.3.2
  • Newtonsoft.Json 13.0.4
  • System.Configuration.ConfigurationManager 10.0.11

Code changes

  • SslIgnoreValidator: replace the obsolete ServicePointManager / ServerCertificateValidationCallback approach with an HttpClient built on HttpClientHandler.ServerCertificateCustomValidationCallback, applied per-client when AllowUntrusted is enabled.
  • InfluxDataNetClient: use the 7-argument InfluxDbClient constructor with QueryLocation.FormData, the dedicated HttpClient, and throwOnWarning=false.
  • App.config: removed the legacy and sections; switched the userSettings section handler to System.Configuration.ClientSettingsSection (System.Configuration.ConfigurationManager), keeping the log4net section.
  • Scintilla designer files (ContinuousQueryControl, QueryControl, RunningQueriesControl, BackFillDialog, CreateContinuousQueryDialog): replaced the removed Lexer = ScintillaNET.Lexer.Sql API with LexerName = "sql".
  • AboutDialog.cs: replaced the deprecated Process.Start(string) overloads with Process.Start(new ProcessStartInfo { FileName, UseShellExecute = true }).

Build fixes

  • Suppressed WFO1000 (Windows Forms designer property-serialization errors for runtime-assigned custom properties) via .
  • Added [assembly: SupportedOSPlatform("Windows")] in AssemblyInfo.cs to silence CA1416 Windows-only API warnings.
  • Added NU1510 to for transitive package-version upper bounds.

Attribution / versioning

  • Replaced the original author credit with "ndavat" in AssemblyInfo.cs (AssemblyCopyright), AboutDialog copyright label, and LICENSE.
  • Bumped assembly version 0.2.0.0 -> 0.3.0.0.
  • Updated project GitHub links to ndavat/InfluxDBStudio in README.md and AboutDialog.cs; left third-party links (InfluxData.Net) unchanged.
  • README.md: documented .NET 10 SDK / VS 2022 prerequisites, build command, and run path; added current build/version note and ndavat copyright line.

Verification

  • dotnet build -c Debug and -c Release succeed with 0 errors (one pre-existing benign CS0169 warning remains).
  • Native Scintilla.dll is correctly deployed to runtimes/win-x64/native on build.

Migrate InfluxDB Studio from .NET Framework 4.6.1 to .NET 10, targeting
net10.0-windows only. The project was previously partially migrated on this
branch; this commit completes a clean, working upgrade.

Project system
- Convert CymaticLabs.InfluxDB.Studio.csproj to SDK-style (was legacy
  MSBuild/VS2015 format, ~600 lines reduced to a small SDK project).
- Replace packages.config with PackageReference items.
- Enable Windows Forms via <UseWindowsForms>true</UseWindowsForms>.
- Set <GenerateAssemblyInfo>false</GenerateAssemblyInfo> (kept existing
  AssemblyInfo.cs) and <SupportedOSPlatformVersion>7.0</SupportedOSPlatformVersion>.

Package upgrades
- InfluxData.Net 8.0.1 (from 6.0.5)
- Scintilla5.NET 7.0.0 (replaces ScintillaNET)
- log4net 3.3.2
- Newtonsoft.Json 13.0.4
- System.Configuration.ConfigurationManager 10.0.11

Code changes
- SslIgnoreValidator: replace the obsolete ServicePointManager /
  ServerCertificateValidationCallback approach with an HttpClient built on
  HttpClientHandler.ServerCertificateCustomValidationCallback, applied
  per-client when AllowUntrusted is enabled.
- InfluxDataNetClient: use the 7-argument InfluxDbClient constructor with
  QueryLocation.FormData, the dedicated HttpClient, and throwOnWarning=false.
- App.config: removed the legacy <startup> and <runtime> sections; switched
  the userSettings section handler to System.Configuration.ClientSettingsSection
  (System.Configuration.ConfigurationManager), keeping the log4net section.
- Scintilla designer files (ContinuousQueryControl, QueryControl,
  RunningQueriesControl, BackFillDialog, CreateContinuousQueryDialog):
  replaced the removed `Lexer = ScintillaNET.Lexer.Sql` API with
  `LexerName = "sql"`.
- AboutDialog.cs: replaced the deprecated Process.Start(string) overloads
  with Process.Start(new ProcessStartInfo { FileName, UseShellExecute = true }).

Build fixes
- Suppressed WFO1000 (Windows Forms designer property-serialization errors
  for runtime-assigned custom properties) via <NoWarn>.
- Added [assembly: SupportedOSPlatform("Windows")] in AssemblyInfo.cs to
  silence CA1416 Windows-only API warnings.
- Added NU1510 to <NoWarn> for transitive package-version upper bounds.

Attribution / versioning
- Replaced the original author credit with "ndavat" in AssemblyInfo.cs
  (AssemblyCopyright), AboutDialog copyright label, and LICENSE.
- Bumped assembly version 0.2.0.0 -> 0.3.0.0.
- Updated project GitHub links to ndavat/InfluxDBStudio in README.md and
  AboutDialog.cs; left third-party links (InfluxData.Net) unchanged.
- README.md: documented .NET 10 SDK / VS 2022 prerequisites, build command,
  and run path; added current build/version note and ndavat copyright line.

Verification
- `dotnet build -c Debug` and `-c Release` succeed with 0 errors
  (one pre-existing benign CS0169 warning remains).
- Native Scintilla.dll is correctly deployed to
  runtimes/win-x64/native on build.
@mr-manuel

Copy link
Copy Markdown

Could you port this to my fork? https://github.com/mr-manuel/InfluxDBStudio

@ndavat

ndavat commented Aug 17, 2026

Copy link
Copy Markdown
Author

Could you port this to my fork? https://github.com/mr-manuel/InfluxDBStudio

Here is PR - mr-manuel#5

@mr-manuel

Copy link
Copy Markdown

Thanks, it was merged on my branch. This makes it now also possible to integrate a dark mode.

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