I am working on a .NET Framework 4.8 solution with 20-ish projects (among others WPF). We were discussing if we should convert our projects to SDK style now to get the new and improved project format.
Is the new SDK style the recommended approach for new .NET Framework projects? Or is it mostly used as a step on the way to converting to Core? I cannot find anything from Microsoft saying that you should do this and new projects in Visual Studio is still created using the old format. Is there any good reason NOT to convert to SDK style?
For starting a new project, you could use the new SDK style (common project system). It is suitable for most project types, but not all project types.
We can know from here that the Default project format of .NET Framework is Non-SDK-style, .NET Core and .NET Standard are SDK-style.
I think if it is not necessary, the .NET Framework may not use the SDK style for the time being. For creating an sdk style .net framework project. We need to set it manually.
For example, you could create a Class Library (.NET Standard) project and modify the csproj file.
The initial file:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project>
You can edit it to:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net48</TargetFramework>
</PropertyGroup>
</Project>
Then, you could get a sdk-style .net framework project.
SDK-style is a project format and may not be related to the conversion of .NET Framework to .NET Core.
You can migrate the old .NET Framework projects to .NET Core projects if needed. For porting projects, you could refer to Considerations when porting and Windows desktop technologies.