コード例 #1
0
        internal static AssemblyIdentity GetAssemblyIdentity(this MetadataReference reference)
        {
            var moduleMetadata = reference.GetModuleMetadata();
            var reader         = moduleMetadata.MetadataReader;

            return(reader.ReadAssemblyIdentityOrThrow());
        }
コード例 #2
0
        internal static Guid GetModuleVersionId(this MetadataReference reference)
        {
            var moduleMetadata = reference.GetModuleMetadata();
            var reader         = moduleMetadata.MetadataReader;

            return(reader.GetModuleVersionIdOrThrow());
        }
コード例 #3
0
        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));
        }