-
Notifications
You must be signed in to change notification settings - Fork 142
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
Conversation
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
|
@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 <434140+aaronpowell@users.noreply.github.com>
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 <434140+aaronpowell@users.noreply.github.com>
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 <434140+aaronpowell@users.noreply.github.com>
… but the MassTransit.ActiveMQ package isn't updated yet Tracked: MassTransit/MassTransit#6133
…ss ambiguous referencing
I feel dirty doing that...
|
@aaronpowell Related to this? dotnet/efcore#37114 |
I don't think so. You'll notice that 1911944 sees a green build now, and the solution is that you have to very forcibly remove some assemblies from the project that is consuming the integration. It's fine in our repo, since we control it, but I'm hoping that we can inject a props file to force it too |
|
@dzsquared #949 (comment) - possible to avoid this dependency for a single execption type? |
|
@aaronpowell Is there a CI build of this I can test in relation to #970 ? |
Nothing we can about the usage in the DacFx assembly, we can only "deal with" the output that it's generating. Basically what we have to do is remove the To solve the install-from-nuget scenario, I'm trying to ship a
You can test using the ADO feed, or download the artifacts from the last CI build (I've just pulled the artifacts locally) but you'll still have to manually do what the |
|
@aaronpowell "Nothing we can about the usage in the DacFx assembly, we can only "deal with" the output that it's generating. " - yes, this was a question to the owner of DacFX! I will try to manually remove the three files |
Ah right - unfortunately it's not OSS so that's adding a spanner into the works of digging through what's going on too |
|
Maybe consider .NET 10 one-shot execution of microsoft.sqlpackage instead, that will remove any reference to DacFX? |
|
I'm keen to try anything at this point, as I'm getting lost in the depths of msbuild and it's scary down here 🤣 |
|
@aaronpowell OK, so the Targets file in the hosting package will remove the files? |
Yep. It feels super dirty 🤣 |
Minimum allowed line rate is |
|
@aaronpowell The hack worked! <ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.0.0" />
<PackageReference Include="Aspire.Hosting.SqlServer" Version="13.0.0" />
<PackageReference Include="CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects" Version="13.0.0-alpha.2043" />
</ItemGroup>
|
Checking into how tightly coupled Microsoft.Build.dll is with DacFx - but I have recollection that we examined removing it in the recent history and weren't able to. |
|
@dzsquared Thanks for checking, I have a proposal to decouple here: #971 |
@dzsquared feel free to ping me on Teams - I've dug into some of the stuff and might have some insights into where the issue with DacFx is and what needs to be tackled |
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.