IL weaver for adding nullability annotations to .NET Framework, .NET Standard, and .NET Core reference assemblies.
- Build: C# compiler version 3.2 Beta 2 or newer (ships with Visual Studio 2019 version 16.3 Preview 2 and newer). Older versions of the compiler interpret nullable metadata differently, which can lead to incorrect build warnings.
- Editing experience: Visual Studio 2019 version 16.3 Preview 2 or newer.
- .NET Framework targets
- mscorlib
- System
- System.Core
- System.Data
- System.Drawing
- System.IO.Compression.FileSystem
- System.Numerics
- System.Runtime.Serialization
- System.Xml
- System.Xml.Linq
- .NET Standard targets
- All assemblies which are defined by the .NET Standard
- .NET Core targets
- All reference assemblies defined by .NET Core
<PropertyGroup>
<!-- By default, the nullable attributes from dotnet/coreclr are included as source code with 'internal'
accessibility. Uncomment to suppress this if the attributes are included from another source and/or
are not needed. -->
<!-- <GenerateNullableAttributes>false</GenerateNullableAttributes> -->
</PropertyGroup>
<ItemGroup>
<PackageReference Include="TunnelVisionLabs.ReferenceAssemblyAnnotator" Version="1.0.0-alpha.160" PrivateAssets="all" />
<!-- Specifies the version of Microsoft.NETCore.App.Ref to obtain nullability information from. -->
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[5.0.0]" />
</ItemGroup>
Minimal:
<ItemGroup>
<PackageReference Include="TunnelVisionLabs.ReferenceAssemblyAnnotator" Version="1.0.0-alpha.160" PrivateAssets="all" />
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[5.0.0]" />
</ItemGroup>
- MSBuild properties
<AnnotatedReferenceAssemblyVersion>
: Specifies the version of Microsoft.NETCore.App.Ref to obtain nullability information from. This is required if there are multiple PackageDownload versions of Microsoft.NETCore.App.Ref.<GenerateNullableAttributes>
: Set toTrue
to include definitions of nullability attributes in the build; otherwise,False
to exclude the definitions. The default value isTrue
.
- MSBuild items
<UnannotatedReferenceAssembly>
: Specifies reference assemblies to annotate. This is only required for assemblies that are not automatically annotated by this package.