Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
In .NET 8, a change was introduced to use a smaller runtime identifier (RID) graph when targeting net8.0
and later versions.
However, this broke customers who multi-target .NET and .NET Framework. That's because the restore happens once, but the .NET Framework project tries to use the old RID default and the .NET (Core) project tries to use the new reduced RID graph.
To enable this multi-targeting scenario, a default RID that's compatible with the new RID graph is now used in this scenario.
.NET 9 GA
SDK-style projects that targeted .NET Framework with no RID set defaulted to win7-x86
or win7-x64
.
SDK-style projects that target .NET Framework with no RID set default to win-x86
or win-x64
.
This change can affect source compatibility.
.NET Framework applications were getting a default RID that was incompatible with the portable RID graph. That incompatibility resulted in a restore error:
Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): error NETSDK1047: Assets file 'D:\1\s\artifacts\obj\MSBuild\project.assets.json' doesn't have a target for 'net472/win7-x64'. Ensure that restore has run and that you have included 'net472' in the TargetFrameworks for your project. You may also need to include 'win7-x64' in your project's RuntimeIdentifiers. [MSBuild.csproj::TargetFramework=net472]>
For more information, see dotnet/sdk issue #35575.
If you're affected by this change, choose one of the following actions:
Update your runtime identifier to a value supported by the portable RID graph. Project file example:
<PropertyGroup>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
If you specify the RID as a command-line argument, make a similar change. For example, dotnet publish --runtime win-x64
.
Switch back to the old RID graph by setting UseRidGraph
to true
in the project file:
<PropertyGroup>
<UseRidGraph>true</UseRidGraph>
</PropertyGroup>
None.
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Module
Create a new .NET project and work with package dependencies - Training
Create a .NET project and learn to add packages and manage package dependencies in your project. Use the .NET Core CLI and NuGet registry to add libraries and tools to your C# applications through Visual Studio Code.