Create a console app to reproduce:
struct Test
{
public static readonly Test? Null = null;
}
class Program
{
static void Main(string[] args)
{
var t = Test.Null;
}
}
It is compilable, but we will have the following at run time:
An unhandled exception of type 'System.TypeLoadException' occurred in mscorlib.dll. Additional information: Could not load type 'ConsoleApplication17.Test' from assembly 'ConsoleApplication17, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
This approach solves the problem:
struct Test
{
public static Test? Null => null;
}