mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-08 11:37:04 +09:00
![]() * Simplfy .NETFramework tfms Libraries which target .NET Framework usually have rid agnostic tfms, i.e. net461. If the library targets netstandard2.0-windows as well, the .NET Framework tfm must be rid specific, as rid specific .NET Framework apps would otherwise pick the .NETStandard asset over the .NETFramework one (based on the RID compatibility rules) There is yet another reason that requires .NETFramework tfms to be RID specific, which is when a project P2Ps other projects which are rid-specific. Without the RID specific .NETFramework tfm, a compatible .NETStandard asset would be picked instead. NuGet doesn't support setting a TargetPlatform in the TargetFramework alias when targeting .NETFramework or .NETStandard. Any such tfms in dotnet/runtime are currently leveraging a hack that strips the TargetPlatform / TargetFrameworkSuffix away during restore and packaging (as NuGet Pack uses the project.assets.json file). As NuGet will likely never support RID specific .NETFramework tfm aliases, the distinction between a RID specific and a RID agnostic .NETFramework tfm is unnecessary. Remove all "TargetFrameworkSuffixes" / TargetPlatforms / RIDs (whatever you would like to call them) from .NETFramework tfms and let the packaging targets handle the cases where a RID specific asset is required in the package. Explictly don't set TargetsWindows to true for .NETFramework builds as the Targets* properties are infered from the platform / suffix and many projects make the assumption that net461 (without the "-windows" part) doesn't set TargetsWindows=true. Fixes https://github.com/dotnet/runtime/issues/58495 * Warn on .NETFramework duplicate runtime assets * Ignore .NEtFramework non Windows and non empty RIDs Also cleaning up the packaging.targets file and removing the ExcludeFromPackage option which isn't needed anymore as target frameworks aren't excluded from packages produced in dotnet/runtime anymore. |
||
---|---|---|
.. | ||
api-guidelines | ||
adding-api-guidelines.md | ||
breaking-change-definitions.md | ||
breaking-change-rules.md | ||
breaking-changes.md | ||
clr-code-guide.md | ||
clr-jit-coding-conventions.md | ||
coding-style.md | ||
cross-platform-guidelines.md | ||
cross-platform-performance-and-eventing.md | ||
EventLogging.md | ||
framework-design-guidelines-digest.md | ||
interop-guidelines.md | ||
libraries-packaging.md | ||
performance-guidelines.md | ||
project-guidelines.md | ||
updating-ref-source.md |