-
Notifications
You must be signed in to change notification settings - Fork 137
Add .NET 10 (preview) as the default TFM and enable multi-targeting builds #949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: aaronpowell <[email protected]>
|
@copilot can you make the default TFM .NET 10 and also ensure any GitHub Actions that install .NET are installing .NET 10 as well |
…ET 10 Co-authored-by: aaronpowell <[email protected]>
Done! I've made the following changes in commit 303a76f:
All examples, tests, and the default build now use .NET 10 as the primary framework. |
|
@copilot can you also ensure the devcontainer will install .NET 10 as preview |
Co-authored-by: aaronpowell <[email protected]>
Done! Updated the devcontainer configuration in commit c6b19fc:
The devcontainer will now install .NET 10 preview as the primary SDK with .NET 8 and 9 as additional versions. |
|
@copilot missed one place to install .NET 10 - the |
Co-authored-by: aaronpowell <[email protected]>
Fixed in commit 1e4e20d. Added |
… but the MassTransit.ActiveMQ package isn't updated yet Tracked: MassTransit/MassTransit#6133
…ss ambiguous referencing
I feel dirty doing that...
|
@ErikEJ @jmezach either of you able to look at the SQL db project errors - https://github.com/CommunityToolkit/Aspire/actions/runs/19286737811/job/55149036924?pr=949#step:6:88 Could it be because the SDK package isn't supporting .NET 10? |
|
@aaronpowell The 3.2.0 SDK supports .NET 10 just fine. Not sure what is specific about the single failing test? @jmezach Thoughts? |
Oh bugger. I saw something on the sdk repo about cutting a release, thought it might be related |
|
@aaronpowell Ah, we have used .NET 10 SDK for a few months now, the issue was just about cutting a release based on the RTM SDK and with the latest DacFX package, for the best SQL Server 2025 support |
|
@ErikEJ @aaronpowell I'm wondering if this might be related to the Microsoft.Build.Locator package that we're using to find an MSBuild instance on the local machine in order to read the project file. Perhaps we need to update that package as well in order to support .NET 10 here? |
|
Which package is that? |
|
@aaronpowell https://www.nuget.org/packages/Microsoft.Build.Locator. It is referenced here: Aspire/Directory.Packages.props Line 82 in 2b1757e
|
|
@jmezach But is that not the latest version already? |
|
1.10.12 is the latest version, we're currently using 1.10.2 |
|
@jmezach Ah - number blindness! 😄 |
|
Ah, thought I'd bumped it. Wanna bump to latest and see what CI dpes |
| @@ -1,6 +1,5 @@ | |||
| <Project Sdk="MSBuild.Sdk.SqlProj/3.2.0"> | |||
| <PropertyGroup> | |||
| <TargetFramework>$(DefaultTargetFramework)</TargetFramework> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change likely caused the test failure. We encountered a similar issue with .NET 9 support last year; multi-targeting was incompatible with SqlProj then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this needs to remain
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that's my bad, I was doing a bunch of stuff trying to force target frameworks and forgot what I had done
Closes #
Adds
net10.0as the default target framework moniker (TFM) and enables multi-targeting for .NET 8.0, 9.0, and 10.0 (preview) across all source projects.Changes Made
Build Configuration
DefaultTargetFrameworkfromnet8.0tonet10.0AllTargetFrameworkstonet10.0;net8.0;net9.0.NET 10 Overridessection using 9.0.10 package versions for compatibility during preview phaseallowPrerelease: true)SqlDatabaseProjectsandSqlServer.Extensionsprojects (Aspire issue #7779 workaround)GitHub Actions Workflows
Updated all workflows and composite actions to install and support .NET 10:
DEFAULT_DOTNET_VERSIONto10.0.x10.0.xto dotnet-version listsnet8.0tonet10.010.0.xto dotnet-version list in the composite actionDevelopment Environment
Impact
src/projects multi-target tonet10.0,net8.0, andnet9.0PR Checklist
Other information
This change enables .NET 10 preview as the default framework. The repository now requires .NET 10 SDK (preview) for building. All CI/CD workflows, composite actions, and the development environment (devcontainer) have been updated to install .NET 10 preview alongside .NET 8 and 9 for multi-targeting support.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.