internal static AssemblyIdentity GetAssemblyIdentity(this MetadataReference reference) { var moduleMetadata = reference.GetModuleMetadata(); var reader = moduleMetadata.MetadataReader; return(reader.ReadAssemblyIdentityOrThrow()); }
internal static Guid GetModuleVersionId(this MetadataReference reference) { var moduleMetadata = reference.GetModuleMetadata(); var reader = moduleMetadata.MetadataReader; return(reader.GetModuleVersionIdOrThrow()); }
internal static ModuleInstance ToModuleInstance( this MetadataReference reference, byte[] fullImage, object symReader, bool includeLocalSignatures = true) { var moduleMetadata = reference.GetModuleMetadata(); var moduleId = moduleMetadata.Module.GetModuleVersionIdOrThrow(); // The Expression Compiler expects metadata only, no headers or IL. var metadataBytes = moduleMetadata.Module.PEReaderOpt.GetMetadata().GetContent().ToArray(); return(new ModuleInstance( reference, moduleMetadata, moduleId, fullImage, metadataBytes, symReader, includeLocalSignatures)); }