From 1d18a83a15c138f70b589682e3320524c2df158f Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 11 Jul 2018 17:21:15 +0200 Subject: [PATCH] Fix NRE in AssemblyNameReference --- ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs | 2 +- ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs b/ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs index c54dcf975..1b5f41e2f 100644 --- a/ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs +++ b/ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs @@ -79,7 +79,7 @@ namespace ICSharpCode.Decompiler.Metadata builder.Append(Name); builder.Append(sep); builder.Append("Version="); - builder.Append(Version.ToString(fieldCount: 4)); + builder.Append((Version ?? UniversalAssemblyResolver.ZeroVersion).ToString(fieldCount: 4)); builder.Append(sep); builder.Append("Culture="); builder.Append(string.IsNullOrEmpty(Culture) ? "neutral" : Culture); diff --git a/ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs b/ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs index b9fa2f480..40b6f7b5b 100644 --- a/ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs +++ b/ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs @@ -248,6 +248,8 @@ namespace ICSharpCode.Decompiler.Metadata return version.Major == 0 && version.Minor == 0 && version.Build == 0 && version.Revision == 0; } + internal static Version ZeroVersion = new Version(0,0,0,0); + string GetCorlib(IAssemblyReference reference) { var version = reference.Version;