Beispiel #1
0
        public IEnumerable <EmbeddedResourceItem> GetResources(string fullPath)
        {
            var encodedPath = EmbeddedResourcePathHelper.EncodeAsResourcesPath(fullPath);

            if (encodedPath.Length > 0 && !encodedPath.EndsWith("."))
            {
                encodedPath = encodedPath + ".";
            }

            // We will assume that any file starting with this path, is in that directory.
            // NOTE: This may include false positives, but helps in the majority of cases until
            // https://github.com/aspnet/FileSystem/issues/184 is solved.

            return(_resources.Value.Where(k => k.Key.StartsWith(encodedPath)).Select(d => d.Value));
        }
        internal void AddResources(Dictionary <string, EmbeddedResourceItem> resources)
        {
            foreach (var resourceName in Assembly.GetManifestResourceNames())
            {
                if (!resourceName.StartsWith(ResourceNamespace))
                {
                    continue;
                }

                using (var stream = Assembly.GetManifestResourceStream(resourceName))
                {
                    var relativePath = ConvertToRelativePath(resourceName);
                    var filePath     = EmbeddedResourcePathHelper.NormalizePath(RootPath) + relativePath;

                    resources[filePath] = new EmbeddedResourceItem(
                        filePath,
                        stream.GetAllBytes(),
                        Assembly
                        );
                }
            }
        }
Beispiel #3
0
        /// <inheritdoc/>
        public EmbeddedResourceItem GetResource(string fullPath)
        {
            var encodedPath = EmbeddedResourcePathHelper.EncodeAsResourcesPath(fullPath);

            return(_resources.Value.GetOrDefault(encodedPath));
        }