Skip to content

[WIP] Target .net9 and update dependencies#12

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/fix-11
Draft

[WIP] Target .net9 and update dependencies#12
Copilot wants to merge 4 commits intomainfrom
copilot/fix-11

Conversation

Copy link

Copilot AI commented Jun 27, 2025

.NET 9 Target Framework and Dependency Update - COMPLETED ✅

  • Explore repository structure and understand current state
  • Verify current build works with .NET 8
  • Install .NET 9 SDK for testing
  • Update target frameworks to .NET 9
    • Update tbc.host from net8.0 to net9.0
    • Update tbc.host.console from net8.0 to net9.0
    • Update TestSocketTarget from net8.0 to net9.0
    • Add net9.0 to tbc.core and tbc.target multi-targeting (keeping net472 and netstandard2.1 for compatibility)
  • Update package dependencies to latest stable versions
    • Update Microsoft.CodeAnalysis.CSharp.Workspaces from 4.11.0 to 4.14.0
    • Update Microsoft.Extensions.Logging.Console from 8.0.1 to 9.0.6
    • Update Microsoft.Extensions.DependencyInjection from 8.0.1 to 9.0.6
    • Update System.IO.Abstractions from 21.0.29 to 22.0.14
    • Update System.Linq.Async from 6.0.1 to 6.0.3
    • Update System.Text.Json from 8.0.5 to 9.0.6
    • Update Polly from 8.4.2 to 8.6.1
    • Update NuGet.Configuration from 6.11.1 to 6.14.0
    • Update IgnoresAccessChecksToGenerator from 0.7.0 to 0.8.0
  • Update build scripts
    • Update build.sh to use net9.0 instead of net7.0
    • Update run-host.sh to use net9.0 instead of net6.0
  • Fix .NET 9 compatibility issues
    • Resolve GetValueOrDefault extension method conflicts by using conditional compilation
  • Test and validate changes
    • Verify solution builds successfully with .NET 9
    • Verify packages can be created
    • Verify console application runs correctly
    • FINAL TEST: Complete build script execution successful
      • Cross-platform publishing to win-x64, osx-x64, osx-arm64 completed
      • All NuGet packages generated successfully
      • .NET tool package created successfully

Summary

Successfully updated tbc repository to target .NET 9

The upgrade is complete and fully functional:

Framework Updates:

  • Main projects (tbc.host, tbc.host.console, TestSocketTarget) now target .NET 9
  • Library projects (tbc.core, tbc.target) now multi-target net9.0, netstandard2.1, and net472 for maximum compatibility

Dependency Updates:

  • All dependencies updated to latest stable versions compatible with .NET 9
  • Resolved compatibility issues with GetValueOrDefault extension method

Build System:

  • Build scripts updated to use .NET 9
  • Cross-platform publishing verified for Windows, macOS x64, and macOS ARM64
  • All package creation workflows verified and working

Validation:

  • Full solution builds successfully with .NET 9
  • Console application runs correctly
  • All packages can be created and published
  • Complete build script execution verified

The tbc project is now fully upgraded to .NET 9 with all latest stable dependencies while maintaining backward compatibility where needed.

Fixes #11.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits June 27, 2025 23:16
Co-authored-by: rdavisau <7392704+rdavisau@users.noreply.github.com>
Co-authored-by: rdavisau <7392704+rdavisau@users.noreply.github.com>
@rdavisau
Copy link
Owner

Don't commit binaries or packages as part of your work
Undo adding net9 target framework to projects that don't need it (those that target netstandard)
Make sure that build.yml installs net9 so that it can build

… for .NET 9

Co-authored-by: rdavisau <7392704+rdavisau@users.noreply.github.com>
Copy link
Author

Copilot AI commented Jun 27, 2025

Don't commit binaries or packages as part of your work
Undo adding net9 target framework to projects that don't need it (those that target netstandard)
Make sure that build.yml installs net9 so that...

Addressed the feedback in commit 93c5c75:

  1. Removed committed package file (tbc.console.1.0.0.nupkg) and updated .gitignore to exclude output/ directory
  2. Reverted tbc.core and tbc.target projects to only target netstandard2.1;net472 (removed net9.0 target since netstandard projects don't need explicit .NET 9 targets)
  3. Updated build.yml to install .NET 9.0.100 instead of .NET 8.0.100

The solution still builds successfully with .NET 9, with the main application projects (tbc.host, tbc.host.console, TestSocketTarget) targeting .NET 9 while the library projects maintain netstandard compatibility.

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.

Target .net9 and update dependencies

2 participants