NullableEnforcer 1.0.0
dotnet add package NullableEnforcer --version 1.0.0
NuGet\Install-Package NullableEnforcer -Version 1.0.0
<PackageReference Include="NullableEnforcer" Version="1.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="NullableEnforcer" Version="1.0.0" />
<PackageReference Include="NullableEnforcer"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add NullableEnforcer --version 1.0.0
#r "nuget: NullableEnforcer, 1.0.0"
#:package NullableEnforcer@1.0.0
#addin nuget:?package=NullableEnforcer&version=1.0.0
#tool nuget:?package=NullableEnforcer&version=1.0.0
NullableEnforcer
A zero-dependency NuGet package that automatically enables and enforces nullable reference type warnings in your .NET projects.
Features
- Enables nullable reference types
- Converts nullable warnings to compiler errors
- Enforces strict null checking across your entire solution
- No runtime dependencies
- Compatible with all .NET projects supporting nullable reference types (C# 8.0+)
Installation
Install via NuGet Package Manager:
Install-Package NullableEnforcer
Or using the .NET CLI:
dotnet add package NullableEnforcer
Or by adding directly to your .csproj:
<PackageReference Include="NullableEnforcer" Version="1.0.0" />
What It Does
When added to your project, this package automatically sets the following MSBuild properties:
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
This means:
- Nullable reference types are enabled
- All nullable warnings are treated as errors
- Your code won't compile if there are any nullable reference type violations
Example
Without NullableEnforcer:
public class User
{
public string Name { get; set; } // Compiles, but could be null
public void PrintName()
{
Console.WriteLine(Name.ToUpper()); // Potential NullReferenceException
}
}
With NullableEnforcer:
public class User
{
public string Name { get; set; } // Error: Must be nullable or initialized
// Fixed version:
public string Name { get; set; } = "";
// Or:
public string? Name { get; set; }
}
Benefits
- Catch null reference issues at compile-time rather than runtime
- Improve code quality and reduce null-related bugs
- Force explicit handling of nullable cases
- No configuration needed - works immediately after installation
Requirements
- .NET projects that support nullable reference types (C# 8.0 or later)
- For .NET Core 3.1+ or .NET 5+
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|