public Stream GetStream(string name) { Uri uri = new Uri(name); var path = uri.AbsolutePath; var pieces = path.Split('/'); var fileName = pieces[pieces.Length - 1]; EmbeddedResource manifestInfo = null; if (GetDictionary().TryGetValue(fileName, out manifestInfo)) { var rawStream = manifestInfo.Assembly.GetManifestResourceStream(manifestInfo.ResourceName); if (rawStream.Length > 2 && rawStream.ReadByte() == 0x50 && rawStream.ReadByte() == 0x4B) //PK { return(ZipStorer.DecompressStream(rawStream)); } return(rawStream); } else { if (OtherResourceStream != null) { return(OtherResourceStream.GetByFullUrl(name)); } } return(null); }