|
|
|
@ -55,6 +55,7 @@ namespace ICSharpCode.Decompiler.Metadata
@@ -55,6 +55,7 @@ namespace ICSharpCode.Decompiler.Metadata
|
|
|
|
|
var reader = assembly.GetMetadataReader(); |
|
|
|
|
|
|
|
|
|
foreach (var h in reader.GetCustomAttributes(Handle.AssemblyDefinition)) { |
|
|
|
|
try { |
|
|
|
|
var attribute = reader.GetCustomAttribute(h); |
|
|
|
|
if (attribute.GetAttributeType(reader).GetFullTypeName(reader).ToString() != TargetFrameworkAttributeName) |
|
|
|
|
continue; |
|
|
|
@ -62,9 +63,13 @@ namespace ICSharpCode.Decompiler.Metadata
@@ -62,9 +63,13 @@ namespace ICSharpCode.Decompiler.Metadata
|
|
|
|
|
if (blobReader.ReadUInt16() == 0x0001) { |
|
|
|
|
return blobReader.ReadSerializedString(); |
|
|
|
|
} |
|
|
|
|
} catch (BadImageFormatException) { |
|
|
|
|
// ignore malformed attributes
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach (var h in reader.AssemblyReferences) { |
|
|
|
|
try { |
|
|
|
|
var r = reader.GetAssemblyReference(h); |
|
|
|
|
if (r.PublicKeyOrToken.IsNil) |
|
|
|
|
continue; |
|
|
|
@ -94,6 +99,9 @@ namespace ICSharpCode.Decompiler.Metadata
@@ -94,6 +99,9 @@ namespace ICSharpCode.Decompiler.Metadata
|
|
|
|
|
version = r.Version.ToString(2); |
|
|
|
|
return $".NETFramework,Version=v{version}"; |
|
|
|
|
} |
|
|
|
|
} catch (BadImageFormatException) { |
|
|
|
|
// ignore malformed references
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Optionally try to detect target version through assembly path as a fallback (use case: reference assemblies)
|
|
|
|
|