docs: update Platform attribute for NUnit 5 runtime identifier changes#1191
Conversation
…hanges - Replace the Runtime section with NUnit 5-accurate content: - Net, NETCore, DotNET, DotNETCore all target modern .NET - NETFramework and DotNETFramework target .NET Framework (new in NUnit 5) - Note that version specifiers are not supported for modern .NET - NETFramework supports version specifiers (e.g. NETFramework-4.0) - Remove obsolete Net-1.0 through Net-4.5 and NetCF entries - Add MonoTouch to Other Runtimes - Update Notes section (remove .NET Framework footnotes, renumber Mono ones) - Add Breaking Changes in NUnit 5 section with migration table Closes #1181
stevenaw
left a comment
There was a problem hiding this comment.
A good start for me to come back to soon
afff0eb to
4a172e7
Compare
stevenaw
left a comment
There was a problem hiding this comment.
I've pushed some follow-up changes. Ready for another human to review.
manfred-brands
left a comment
There was a problem hiding this comment.
Looks good @stevenaw only one suggestion.
| | `DotNETFramework` | Not supported | .NET Framework | | ||
|
|
||
| If you were using `[Platform("NET")]` or `[Platform("DotNET")]` to target .NET Framework, | ||
| update those usages to `[Platform("NETFramework")]` or `[Platform("DotNETFramework")]`. |
There was a problem hiding this comment.
Should we suggest to use the non-string versions using the enums instead?
There was a problem hiding this comment.
Do you mean the named constants? I think we opted away from actual enums during implementation of PlatformNames.
I was conflicted on whether to leave these string literals in place here or not. I like the idea of using the named constants where we can in the docs though this particular case gave me pause since it deals with a change in how the underlying strings are handled relative to previous releases. The PlatformNames constants were only introduced a few months ago as part of 4.6 and are new enough that I thought it likely most consumers may still use string literals (or even their own defined constants which could vary in naming from our own)
Fixes #1181
In NUnit 5, the meaning of
NETandDotNETchanged from targeting .NET Framework to targeting modern .NET, and newNETFramework/DotNETFrameworkidentifiers were introduced. The Platform attribute docs were still showing the NUnit 4 (and older) runtime identifiers.Runtime section
Net,NETCore,DotNET,DotNETCoreNETFramework,DotNETFramework(new in NUnit 5), with support for version suffixes (NETFramework-4.0, etc.)Net-1.0throughNet-4.5,NetCF(invalid in NUnit 5; version specifiers onNetthrowPlatformNotSupportedException)MonoTouchto Other RuntimesNotes section
New: Breaking Changes in NUnit 5 section
Includes a migration table and explicit guidance for users upgrading from NUnit 4:
NETNETFrameworkNETCoreDotNETDotNETCoreDotNETFramework