If you’re playing around with C# 8, and have been for a while, you may spot this message when using nullable reference types:
Warning CS8632 The annotation for nullable reference types should only be used in code within a ‘#nullable’ context.
There’s a couple of things you can check to fix this; the first is to check that you are, in fact, using C# 8. It’s likely that you are, because there is a separate error if you are not, but just for my own benefit:
<LangVersion>preview</LangVersion>
The next, and more likely step, is that you’re using the previous declaration for Nullable Reference Types; it used to look like this:
<NullableReferenceTypes>true</NullableReferenceTypes>
But no more! Now it looks like this:
<NullableContextOptions>enable</NullableContextOptions>
And, as if by magic - the error disappears!
But why? Well, it looks like they are making the setting more nuanced than simply on or off.
Update (8/7/2019)
It appears that the NullableContextOptions is now simply: Nullable; e.g.:
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>