internal RuntimeMetadataReferenceResolver(
     RelativePathResolver pathResolver,
     NuGetPackageResolver packageResolver,
     GacFileResolver gacFileResolver,
     Func <string, MetadataReferenceProperties, PortableExecutableReference> fileReferenceProvider = null)
 {
     PathResolver           = pathResolver;
     PackageResolver        = packageResolver;
     GacFileResolver        = gacFileResolver;
     _fileReferenceProvider = fileReferenceProvider ??
                              new Func <string, MetadataReferenceProperties, PortableExecutableReference>((path, properties) => MetadataReference.CreateFromFile(path, properties));
 }