public void ResolvePath_Order() { var dir = Temp.CreateDirectory(); var dir1 = dir.CreateDirectory("dir1"); var dir2 = dir.CreateDirectory("dir2"); var f1 = dir1.CreateFile("f.dll").Path; var f2 = dir2.CreateFile("f.dll").Path; var resolver = new MetadataFileReferenceResolver( ImmutableArray.Create(dir1.Path, dir2.Path), baseDirectory: null); var path = resolver.ResolveReference("f.dll", null); Assert.Equal(f1, path, StringComparer.OrdinalIgnoreCase); }
public override string ResolveReference(string reference, string baseFilePath) { if (PathUtilities.IsFilePath(reference)) { return(_pathResolver.ResolveReference(reference, baseFilePath)); } if (_packageResolver != null) { // TODO: Call _packageResolver.ResolveNuGetPackage when // this method supports returning a collection of results. } if (_gacFileResolver != null) { return(_gacFileResolver.ResolveReference(reference)); } return(null); }
public override string ResolveReference(string reference, string baseFilePath) { if (PathUtilities.IsFilePath(reference)) { return(_pathResolver.ResolveReference(reference, baseFilePath)); } if (_packageResolver != null) { string path = _packageResolver.ResolveNuGetPackage(reference); if (path != null && PortableShim.File.Exists(path)) { return(path); } } if (_gacFileResolver != null) { return(_gacFileResolver.ResolveReference(reference)); } return(null); }