22 instantiations of MetadataReferenceProperties
Microsoft.CodeAnalysis (7)
MetadataReference\AssemblyMetadata.cs (1)
454return new MetadataImageReference(this, new MetadataReferenceProperties(MetadataImageKind.Assembly, aliases, embedInteropTypes), documentation, filePath, display);
MetadataReference\CompilationReference.cs (1)
44return new MetadataReferenceProperties(MetadataImageKind.Assembly, aliases, embedInteropTypes);
MetadataReference\MetadataReferenceProperties.cs (5)
25public static MetadataReferenceProperties Module => new MetadataReferenceProperties(MetadataImageKind.Module); 30public static MetadataReferenceProperties Assembly => new MetadataReferenceProperties(MetadataImageKind.Assembly); 100return new MetadataReferenceProperties(_kind, aliases, _embedInteropTypes, HasRecursiveAliases); 109return new MetadataReferenceProperties(_kind, _aliases, embedInteropTypes, HasRecursiveAliases); 117return new MetadataReferenceProperties(_kind, _aliases, _embedInteropTypes, value);
Microsoft.CodeAnalysis.CSharp (1)
CommandLine\CSharpCommandLineParser.cs (1)
1990var properties = new MetadataReferenceProperties(MetadataImageKind.Assembly, aliases, embedInteropTypes);
Microsoft.CodeAnalysis.VisualBasic (9)
CommandLine\VisualBasicCommandLineParser.vb (9)
697Function(path) New CommandLineReference(path, New MetadataReferenceProperties(MetadataImageKind.Module)))) 1349New CommandLineReference(systemDllPath, New MetadataReferenceProperties(MetadataImageKind.Assembly))) 1362New CommandLineReference(msVbDllPath, New MetadataReferenceProperties(MetadataImageKind.Assembly))) 1365metadataReferences.Add(New CommandLineReference(vbRuntimePath, New MetadataReferenceProperties(MetadataImageKind.Assembly))) 1565Return New CommandLineReference(systemRuntimePath, New MetadataReferenceProperties(MetadataImageKind.Assembly)) 1574Return New CommandLineReference(systemRuntimePath, New MetadataReferenceProperties(MetadataImageKind.Assembly)) 1582Return New CommandLineReference(msCorLibPath, New MetadataReferenceProperties(MetadataImageKind.Assembly)) 1587Return New CommandLineReference(msCorLibPath, New MetadataReferenceProperties(MetadataImageKind.Assembly)) 1709Select(Function(path) New CommandLineReference(path, New MetadataReferenceProperties(MetadataImageKind.Assembly, embedInteropTypes:=embedInteropTypes)))
Microsoft.CodeAnalysis.Workspaces (4)
Serialization\SerializerService_Reference.cs (1)
333return new MetadataReferenceProperties(kind, aliases, embedInteropTypes);
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (1)
676new MetadataReferenceProperties(
Workspace\Solution\SolutionCompilationState.cs (1)
1328var properties = new MetadataReferenceProperties(aliases: projectReference.Aliases, embedInteropTypes: projectReference.EmbedInteropTypes);
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (1)
533var metadataReference = metadataService.GetReference(outputPath, new MetadataReferenceProperties(MetadataImageKind.Assembly, projectReference.Aliases, projectReference.EmbedInteropTypes));
Microsoft.CodeAnalysis.Workspaces.MSBuild (1)
MSBuild\MSBuildProjectLoader.Worker.cs (1)
264.Select(r => metadataService.GetReference(r.Path, new MetadataReferenceProperties(aliases: [.. r.Aliases])));
164 references to MetadataReferenceProperties
Microsoft.CodeAnalysis (64)
CommandLine\CommandLineReference.cs (3)
18private readonly MetadataReferenceProperties _properties; 20public CommandLineReference(string reference, MetadataReferenceProperties properties) 38public MetadataReferenceProperties Properties
CommandLine\CommonCompiler.cs (1)
197internal virtual Func<string, MetadataReferenceProperties, PortableExecutableReference> GetMetadataProvider()
CommandLine\CommonCompiler.ExistingReferencesResolver.cs (1)
44public override ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string? baseFilePath, MetadataReferenceProperties properties)
CommandLine\CommonCompiler.LoggingMetadataFileReferenceResolver.cs (3)
17private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _provider; 19public LoggingMetadataFileReferenceResolver(RelativePathResolver pathResolver, Func<string, MetadataReferenceProperties, PortableExecutableReference> provider, TouchedFileLogger? logger) 29public override ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string? baseFilePath, MetadataReferenceProperties properties)
Compilation\DeterministicKeyBuilder.cs (1)
442static void writeMetadataReferenceProperties(JsonWriter writer, MetadataReferenceProperties properties)
Emit\CommonPEModuleBuilder.cs (1)
554if (alias != MetadataReferenceProperties.GlobalAlias && aliases.IndexOf(alias, 0, i) < 0)
MetadataReference\CompilationReference.cs (6)
21internal CompilationReference(MetadataReferenceProperties properties) 27internal static MetadataReferenceProperties GetProperties(Compilation compilation, ImmutableArray<string> aliases, bool embedInteropTypes) 70/// <param name="value">The new value for <see cref="MetadataReferenceProperties.EmbedInteropTypes"/>.</param> 82public new CompilationReference WithProperties(MetadataReferenceProperties properties) 97internal sealed override MetadataReference WithPropertiesImplReturningMetadataReference(MetadataReferenceProperties properties) 107internal abstract CompilationReference WithPropertiesImpl(MetadataReferenceProperties properties);
MetadataReference\MetadataImageReference.cs (2)
21internal MetadataImageReference(Metadata metadata, MetadataReferenceProperties properties, DocumentationProvider? documentation, string? filePath, string? display) 39protected override PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties)
MetadataReference\MetadataReference.cs (16)
25public MetadataReferenceProperties Properties { get; } 27protected MetadataReference(MetadataReferenceProperties properties) 58/// <param name="value">The new value for <see cref="MetadataReferenceProperties.EmbedInteropTypes"/>.</param> 80public MetadataReference WithProperties(MetadataReferenceProperties properties) 90internal abstract MetadataReference WithPropertiesImplReturningMetadataReference(MetadataReferenceProperties properties); 121MetadataReferenceProperties properties = default, 159MetadataReferenceProperties properties = default, 201MetadataReferenceProperties properties = default, 243MetadataReferenceProperties properties = default, 255MetadataReferenceProperties properties, 268MetadataReferenceProperties properties, 306return CreateFromAssemblyInternal(assembly, default(MetadataReferenceProperties)); 316/// <exception cref="ArgumentException"><paramref name="properties"/>.<see cref="MetadataReferenceProperties.Kind"/> is not <see cref="MetadataImageKind.Assembly"/>.</exception> 329MetadataReferenceProperties properties, 337MetadataReferenceProperties properties) 365MetadataReferenceProperties properties,
MetadataReference\MetadataReferenceProperties.cs (18)
16public struct MetadataReferenceProperties : IEquatable<MetadataReferenceProperties> 25public static MetadataReferenceProperties Module => new MetadataReferenceProperties(MetadataImageKind.Module); 30public static MetadataReferenceProperties Assembly => new MetadataReferenceProperties(MetadataImageKind.Assembly); 82/// Returns <see cref="MetadataReferenceProperties"/> with specified aliases. 87public MetadataReferenceProperties WithAliases(IEnumerable<string> aliases) 93/// Returns <see cref="MetadataReferenceProperties"/> with specified aliases. 98public MetadataReferenceProperties WithAliases(ImmutableArray<string> aliases) 104/// Returns <see cref="MetadataReferenceProperties"/> with <see cref="EmbedInteropTypes"/> set to specified value. 107public MetadataReferenceProperties WithEmbedInteropTypes(bool embedInteropTypes) 113/// Returns <see cref="MetadataReferenceProperties"/> with <see cref="HasRecursiveAliases"/> set to specified value. 115internal MetadataReferenceProperties WithRecursiveAliases(bool value) 161return obj is MetadataReferenceProperties && Equals((MetadataReferenceProperties)obj); 164public bool Equals(MetadataReferenceProperties other) 177public static bool operator ==(MetadataReferenceProperties left, MetadataReferenceProperties right) 182public static bool operator !=(MetadataReferenceProperties left, MetadataReferenceProperties right)
MetadataReference\MetadataReferenceResolver.cs (1)
17public abstract ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string? baseFilePath, MetadataReferenceProperties properties);
MetadataReference\ModuleMetadata.cs (1)
378return new MetadataImageReference(this, MetadataReferenceProperties.Module, documentation, filePath, display);
MetadataReference\PortableExecutableReference.cs (5)
23MetadataReferenceProperties properties, 97/// <param name="value">The new value for <see cref="MetadataReferenceProperties.EmbedInteropTypes"/>.</param> 109public new PortableExecutableReference WithProperties(MetadataReferenceProperties properties) 119internal sealed override MetadataReference WithPropertiesImplReturningMetadataReference(MetadataReferenceProperties properties) 130protected abstract PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties);
MetadataReference\UnresolvedMetadataReference.cs (2)
17internal UnresolvedMetadataReference(string reference, MetadataReferenceProperties properties) 36internal override MetadataReference WithPropertiesImplReturningMetadataReference(MetadataReferenceProperties properties)
ReferenceManager\CommonReferenceManager.Resolution.cs (1)
877var references = compilation.Options.MetadataReferenceResolver.ResolveReference(reference, basePath, MetadataReferenceProperties.Assembly.WithRecursiveAliases(true));
ReferenceManager\CommonReferenceManager.State.cs (1)
724return aliases.Length == 0 || aliases.IndexOf(MetadataReferenceProperties.GlobalAlias, StringComparer.Ordinal) >= 0;
ReferenceManager\MergedAliases.cs (1)
71AddNonIncluded(aliases, MetadataReferenceProperties.GlobalAlias);
Microsoft.CodeAnalysis.CSharp (5)
CommandLine\CSharpCommandLineParser.cs (3)
740metadataReferences.AddRange(ParseSeparatedPaths(value).Select(path => new CommandLineReference(path, MetadataReferenceProperties.Module))); 1439metadataReferences.Insert(0, new CommandLineReference(Path.Combine(sdkDirectory, "mscorlib.dll"), MetadataReferenceProperties.Assembly)); 1990var properties = new MetadataReferenceProperties(MetadataImageKind.Assembly, aliases, embedInteropTypes);
Compilation\CSharpCompilationReference.cs (2)
43private CSharpCompilationReference(CSharpCompilation compilation, MetadataReferenceProperties properties) 49internal override CompilationReference WithPropertiesImpl(MetadataReferenceProperties properties)
Microsoft.CodeAnalysis.CSharp.Features (2)
AddImport\CSharpAddImportFeatureService.cs (1)
589aliases = [.. metadataReference.Properties.Aliases.Where(a => a != MetadataReferenceProperties.GlobalAlias)];
Completion\CompletionProviders\ExternAliasCompletionProvider.cs (1)
78aliases.Remove(MetadataReferenceProperties.GlobalAlias);
Microsoft.CodeAnalysis.CSharp.Scripting (2)
Hosting\CommandLine\Csi.cs (2)
15private readonly Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference> _createFromFileFunc; 22Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference>? createFromFileFunc = null)
Microsoft.CodeAnalysis.Features (2)
AddImport\CodeActions\AssemblyReferenceCodeAction.cs (1)
98var reference = service.GetReference(resolvedPath, MetadataReferenceProperties.Assembly);
Completion\Providers\ImportCompletionProvider\AbstractTypeImportCompletionService.cs (1)
172=> aliases.IsEmpty || aliases.Any(static alias => alias == MetadataReferenceProperties.GlobalAlias);
Microsoft.CodeAnalysis.Scripting (24)
Hosting\CommandLine\CommandLineRunner.cs (3)
25private readonly Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference> _createFromFileFunc; 32Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference>? createFromFileFunc = null) 183Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference> createFromFileFunc)
Hosting\Resolvers\RuntimeMetadataReferenceResolver.cs (9)
28private static readonly MetadataReferenceProperties s_resolvedMissingAssemblyReferenceProperties = 29MetadataReferenceProperties.Assembly.WithAliases(ImmutableArray.Create("<implicit>")); 40private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _createFromFileFunc; 54Func<string, MetadataReferenceProperties, PortableExecutableReference>? createFromFileFunc = null) 71Func<string, MetadataReferenceProperties, PortableExecutableReference>? createFromFileFunc = null) 85Func<string, MetadataReferenceProperties, PortableExecutableReference>? createFromfileFunc = null) 136private PortableExecutableReference CreateFromFile(string filePath, MetadataReferenceProperties properties) => 142public override ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string? baseFilePath, MetadataReferenceProperties properties) 197private PortableExecutableReference? ResolveTrustedPlatformAssembly(string name, MetadataReferenceProperties properties)
Script.cs (6)
238internal static readonly MetadataReferenceProperties HostAssemblyReferenceProperties = 239MetadataReferenceProperties.Assembly.WithAliases(ImmutableArray.Create("<host>")).WithRecursiveAliases(true); 314MetadataReferenceProperties properties, 315Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference> createFromFileFunc) 324/// <see cref="MetadataReference.CreateFromFile(string, PEStreamOptions, MetadataReferenceProperties, DocumentationProvider)"/> 335MetadataReferenceProperties properties) =>
ScriptMetadataResolver.cs (1)
70public override ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string? baseFilePath, MetadataReferenceProperties properties)
ScriptOptions.cs (5)
143internal Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference> CreateFromFileFunc { get; private set; } 158Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference>? createFromFileFunc = null) 199private static readonly MetadataReferenceProperties s_assemblyReferenceProperties = 200MetadataReferenceProperties.Assembly.WithRecursiveAliases(true); 393internal ScriptOptions WithCreateFromFileFunc(Func<string, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference> createFromFileFunc)
Microsoft.CodeAnalysis.VisualBasic (2)
Compilation\VisualBasicCompilationReference.vb (2)
119Private Sub New(compilation As VisualBasicCompilation, properties As MetadataReferenceProperties) 124Friend Overrides Function WithPropertiesImpl(properties As MetadataReferenceProperties) As CompilationReference
Microsoft.CodeAnalysis.VisualBasic.Scripting (2)
Hosting\CommandLine\Vbi.vb (2)
15Private ReadOnly _createFromFileFunc As Func(Of String, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference) 17Friend Sub New(responseFile As String, buildPaths As BuildPaths, args As String(), analyzerLoader As IAnalyzerAssemblyLoader, Optional createFromFileFunc As Func(Of String, PEStreamOptions, MetadataReferenceProperties, MetadataImageReference) = Nothing)
Microsoft.CodeAnalysis.Workspaces (42)
Serialization\SerializedPortableExecutableReference.cs (2)
28MetadataReferenceProperties properties, 51protected override PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties)
Serialization\SerializerService_Reference.cs (5)
293var properties = ReadMetadataReferencePropertiesFrom(reader); 320private static void WriteTo(MetadataReferenceProperties properties, ObjectWriter writer) 327private static MetadataReferenceProperties ReadMetadataReferencePropertiesFrom(ObjectReader reader) 565MetadataReferenceProperties properties, string? fullPath, DocumentationProvider initialDocumentation) 589protected override PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties)
Workspace\Host\Metadata\IMetadataService.cs (1)
16PortableExecutableReference GetReference(string resolvedPath, MetadataReferenceProperties properties);
Workspace\Host\Metadata\MetadataReferenceCache.cs (5)
18internal sealed class MetadataReferenceCache(Func<string, MetadataReferenceProperties, MetadataReference> createReference) 23private readonly Func<string, MetadataReferenceProperties, MetadataReference> _createReference = createReference ?? throw new ArgumentNullException(nameof(createReference)); 25public MetadataReference GetReference(string path, MetadataReferenceProperties properties) 43private readonly Dictionary<MetadataReferenceProperties, WeakReference<MetadataReference>> _references = []; 45public MetadataReference GetAddOrUpdate(string path, MetadataReferenceProperties properties)
Workspace\Host\Metadata\MetadataServiceFactory.cs (3)
37public PortableExecutableReference GetReference(string resolvedPath, MetadataReferenceProperties properties) 40private sealed class ThrowingExecutableReference(string resolvedPath, MetadataReferenceProperties properties, DocumentationProvider documentationProvider, IOException exception) 49protected override PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties)
Workspace\Host\Metadata\WorkspaceMetadataFileReferenceResolver.cs (1)
28public override ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string baseFilePath, MetadataReferenceProperties properties)
Workspace\ProjectSystem\ProjectSystemProject.cs (12)
34private static readonly ImmutableArray<MetadataReferenceProperties> s_defaultMetadataReferenceProperties = [default(MetadataReferenceProperties)]; 52private readonly List<(string path, MetadataReferenceProperties properties)> _metadataReferencesAddedInBatch = []; 53private readonly List<(string path, MetadataReferenceProperties properties)> _metadataReferencesRemovedInBatch = []; 99private readonly Dictionary<string, ImmutableArray<MetadataReferenceProperties>> _allMetadataReferences = []; 676List<(string path, MetadataReferenceProperties properties)> metadataReferencesRemovedInBatch, 677List<(string path, MetadataReferenceProperties properties)> metadataReferencesAddedInBatch) 1214public void AddMetadataReference(string fullPath, MetadataReferenceProperties properties) 1233public bool ContainsMetadataReference(string fullPath, MetadataReferenceProperties properties) 1241private bool ContainsMetadataReference_NoLock(string fullPath, MetadataReferenceProperties properties) 1252public ImmutableArray<MetadataReferenceProperties> GetPropertiesForMetadataReference(string fullPath) 1260public void RemoveMetadataReference(string fullPath, MetadataReferenceProperties properties)
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (3)
712MetadataReferenceProperties properties, 751MetadataReferenceProperties properties, 831string fullFilePath, MetadataReferenceProperties properties, SolutionServices solutionServices)
Workspace\Solution\SolutionCompilationState.cs (1)
1328var properties = new MetadataReferenceProperties(aliases: projectReference.Aliases, embedInteropTypes: projectReference.EmbedInteropTypes);
Workspace\Solution\SolutionCompilationState.ICompilationTracker.cs (1)
76Task<MetadataReference?> GetOrBuildSkeletonReferenceAsync(SolutionCompilationState compilationState, MetadataReferenceProperties properties, CancellationToken cancellationToken);
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (1)
929public Task<MetadataReference?> GetOrBuildSkeletonReferenceAsync(SolutionCompilationState compilationState, MetadataReferenceProperties properties, CancellationToken cancellationToken)
Workspace\Solution\SolutionCompilationState.RootedSymbolSet.cs (1)
16internal readonly record struct MetadataReferenceInfo(MetadataReferenceProperties Properties, string? FilePath)
Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs (3)
22/// cref="MetadataReferenceProperties"/> it might be referenced by. Skeletons are used in the compilation tracker 137public readonly MetadataReference? TryGetAlreadyBuiltMetadataReference(MetadataReferenceProperties properties) 143MetadataReferenceProperties properties,
Workspace\Solution\SolutionCompilationState.SkeletonReferenceSet.cs (2)
32private readonly Dictionary<MetadataReferenceProperties, PortableExecutableReference> _referenceMap = []; 36public PortableExecutableReference GetOrCreateMetadataReference(MetadataReferenceProperties properties)
Workspace\Solution\SolutionCompilationState.WithFrozenSourceGeneratedDocumentsCompilationTracker.cs (1)
235public Task<MetadataReference?> GetOrBuildSkeletonReferenceAsync(SolutionCompilationState compilationState, MetadataReferenceProperties properties, CancellationToken cancellationToken)
rzc (6)
Application.cs (2)
18Func<string, MetadataReferenceProperties, PortableExecutableReference> assemblyReferenceProvider, 48public Func<string, MetadataReferenceProperties, PortableExecutableReference> AssemblyReferenceProvider { get; }
CachingMetadataReference.cs (2)
14public CachingMetadataReference(string fullPath, MetadataReferenceProperties properties) 29protected override PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties)
CompilerHost.cs (1)
36public Func<string, MetadataReferenceProperties, PortableExecutableReference> AssemblyReferenceProvider { get; }
DiscoverCommand.cs (1)
165metadataReferences[i] = Parent.AssemblyReferenceProvider(assemblies[i], default(MetadataReferenceProperties));
VBCSCompiler (13)
src\roslyn\src\Compilers\Server\VBCSCompiler\CompilerRequestHandler.cs (2)
46public static Func<string, MetadataReferenceProperties, PortableExecutableReference> SharedAssemblyReferenceProvider { get; } = (path, properties) => new CachingMetadataReference(path, properties); 51private Func<string, MetadataReferenceProperties, PortableExecutableReference> AssemblyReferenceProvider { get; } = SharedAssemblyReferenceProvider;
src\roslyn\src\Compilers\Server\VBCSCompiler\CSharpCompilerServer.cs (4)
17private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _metadataProvider; 21internal CSharpCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null) 26internal CSharpCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string? responseFile, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null) 34internal override Func<string, MetadataReferenceProperties, PortableExecutableReference> GetMetadataProvider()
src\roslyn\src\Compilers\Server\VBCSCompiler\MetadataCache.cs (3)
56internal Metadata GetMetadata(string fullPath, MetadataReferenceProperties properties) 118public CachingMetadataReference(string fullPath, MetadataReferenceProperties properties) 134protected override PortableExecutableReference WithPropertiesImpl(MetadataReferenceProperties properties)
src\roslyn\src\Compilers\Server\VBCSCompiler\VisualBasicCompilerServer.cs (4)
17private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _metadataProvider; 21internal VisualBasicCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null) 26internal VisualBasicCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string? responseFile, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null) 34internal override Func<string, MetadataReferenceProperties, PortableExecutableReference> GetMetadataProvider()