/// <summary> /// Use <paramref name="stream"/> to access contents of a .dll file. /// </summary> /// <param name="stream"></param> /// <param name="packageInfo"></param> /// <returns>file provider</returns> public IFileProvider UseStream(Stream stream, IPackageLoadInfo packageInfo) { try { return(DllFileProvider.UseStream(stream, packageInfo?.LastModified)); } catch (Exception e) when(e is InvalidDataException || e is FormatException || e is BadImageFormatException) { throw new PackageException.LoadError(stream is FileStream fs ? fs.Name : null, e); } }
/// <summary> /// Open a .dll file. /// </summary> /// <param name="filename"></param> /// <param name="packageInfo"></param> /// <returns>file provider</returns> public IFileProvider OpenFile(string filename, IPackageLoadInfo packageInfo) { try { return(DllFileProvider.OpenFile(filename, packageInfo?.LastModified)); } catch (Exception e) when(e is InvalidDataException || e is FormatException || e is BadImageFormatException) { throw new PackageException.LoadError(filename, e); } }