APIs might have a different behavior depending on the platform in .NET Core and might throw the PlatformNotSupported exception. We need to call that out in the Exception section of the APIs impacted.
I remember seeing spreadsheets flowing around with that information @terrajobst. Do we have the latest version of that @terrajobst?
/cc @bartonjs
For now, wiki has the information on PNSE: https://github.com/dotnet/corefx/wiki/ApiCompat
Including @weshaggard as he may have more insight into api level differences across platform.
The corefx wiki is gone now. Was the source for the apicompat page saved anywhere?
@karelz
Thanks @ViktorHofer for your help recovering that info. I copied the old contents of api compat into a gist for now:
https://gist.github.com/mairaw/c5ea693b956b584f44c3423e29e1f0c6
This really is a huge complication when moving from .NET Framework -> .NET 5. Everything compiles without warning (even though the TargetPlatform is known at compile time) and runs fine until a runtime exception. The API documentation gives no indication of what parts of an API might not be supported.
My example today is the CodeDom compiler support, which is not supported in .NET Core see https://github.com/dotnet/runtime/issues/18768
The documentation for CodeDomCompiler.CompileAssemblyFromSource gives no indication that this feature is not supported on .NET Core / .NET 5.0, whether there are alternatives or whether adjacent APIs might work.
@govert
Good point. I have filed this user story, which would also ensure that shows up in the docs.