private IFileProvider BuildFileProvider(string prefix, IAssemblyResourceResolver assembly = null) { if (assembly == null) { assembly = BuildTestAssemblyResourceResolver(); } return(new Embedded.EmbeddedFileProvider(assembly, prefix)); }
public EmbeddedFileProvider(IAssemblyResourceResolver assembly, string prefix) { _assembly = assembly; _files = _assembly.GetManifestResourceNames() .Where(x => x.StartsWith(prefix)) .Select(x => { // This bit will will create convert the resource name // "this.is.a.resource.jpg" to a path of "/this/is/a/resource.jpg". var parts = x.Substring(prefix.Length).Split('.'); var directory = parts.Take(parts.Length - 2); var fileName = parts.Skip(parts.Length - 2); var path = Path.DirectorySeparatorChar + Path.Combine(Path.Combine(directory.ToArray()), string.Join(".", fileName)); return(new EmbeddedFile(path, x)); }) .ToList(); }
public EmbeddedFileInfo(EmbeddedFile file, IAssemblyResourceResolver assembly) { _file = file; _assembly = assembly; }
public EnumerableDirectoryContents(List <EmbeddedFile> entries, string subPath, IAssemblyResourceResolver assembly) { _entries = entries; _subPath = subPath; _assembly = assembly; }