-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Target netstandard2.0 and net461 #32597
Comments
This does create a bit of a problem: testing with Key Vault - which the solution also contains Core and Identity - a number of problems were identified:
|
Talking with @ericstj, once a .NET Framework TFM is targeted (in the nupkg), netstandard* will never be used. Thus, for cryptpgraphy types related to ECDsa and others found in https://github.com/dotnet/standard/blob/release/2.0.0/netstandard/src/ApiCompatBaseline.net461.txt, we might want to consider multi-targeting both net461 + net47 (or whatever is needed; net47 adds ECDsa support). As for spans, we could target net461 but still reference System.Memory, which might still offer better performance and maintainability than |
This tool may also be of use: https://nugettools.azurewebsites.net/6.0.0/framework-precedence |
What about .NET 6 as tfm? Would be good to support Nullable Reference Types for modern dotnet versions |
We don't need to support net6.0 TFM to use nullable types. The nullable attributes need only be defined as the same namespace and type sans the assembly strong name. We do this in Azure.Core. However, adding nullable type annotations is a breaking change which is why we haven't done it. That is, if we add them now, a lot of code that was already compiling fine would break. This is the reason we haven't added them. |
We need to target both netstandard2.0 and net461 so that .NET Framework (net461+) apps don't pull down a bunch of shim assemblies they don't need.
/cc @schaabs
The text was updated successfully, but these errors were encountered: