ParseFrameworkNameFromFilePath() приватный Метод

private ParseFrameworkNameFromFilePath ( string filePath, string &effectivePath ) : FrameworkName
filePath string
effectivePath string
Результат FrameworkName
Пример #1
0
        public override IEnumerable <FrameworkName> GetSupportedFrameworks()
        {
            IEnumerable <FrameworkName> enumerable;
            IEnumerable <IPackageFile>  enumerable2;

            if (this._enableCaching && MemoryCache.Instance.TryGetValue <IEnumerable <IPackageFile> >(this.GetFilesCacheKey(), out enumerable2))
            {
                enumerable = from c in enumerable2 select c.TargetFramework;
            }
            else
            {
                using (Stream stream = this._streamFactory())
                {
                    enumerable = Enumerable.Select <PackagePart, FrameworkName>(from part in Package.Open(stream).GetParts()
                                                                                where IsPackageFile(part)
                                                                                select part, delegate(PackagePart part) {
                        string effectivePath;
                        return(VersionUtility.ParseFrameworkNameFromFilePath(UriUtility.GetPath(part.Uri), out effectivePath));
                    });
                }
            }
            return((from f in base.GetSupportedFrameworks().Concat <FrameworkName>(enumerable)
                    where f != null
                    select f).Distinct <FrameworkName>());
        }
Пример #2
0
        public override IEnumerable <FrameworkName> GetSupportedFrameworks()
        {
            IEnumerable <FrameworkName> fileFrameworks;
            IEnumerable <IPackageFile>  cachedFiles;

            if (_enableCaching && MemoryCache.Instance.TryGetValue(GetFilesCacheKey(), out cachedFiles))
            {
                fileFrameworks = cachedFiles.Select(c => c.TargetFramework);
            }
            else
            {
                using (Stream stream = _streamFactory())
                {
                    var package = Package.Open(stream);

                    string effectivePath;
                    fileFrameworks = from part in package.GetParts()
                                     where IsPackageFile(part, Id)
                                     select VersionUtility.ParseFrameworkNameFromFilePath(UriUtility.GetPath(part.Uri), out effectivePath);
                }
            }

            return(base.GetSupportedFrameworks()
                   .Concat(fileFrameworks)
                   .Where(f => f != null)
                   .Distinct());
        }
Пример #3
0
        public override IEnumerable <FrameworkName> GetSupportedFrameworks()
        {
            IEnumerable <FrameworkName> fileFrameworks;
            IEnumerable <IPackageFile>  cachedFiles;

            if (_enableCaching && MemoryCache.Instance.TryGetValue(GetFilesCacheKey(), out cachedFiles))
            {
                fileFrameworks = cachedFiles.Select(c => c.TargetFramework);
            }
            else
            {
                using (Stream stream = _streamFactory())
                {
                    using (ZipFile zip = ZipFile.Read(stream))
                    {
                        string effectivePath;
                        fileFrameworks = from part in zip.Entries
                                         where IsPackageFile(new Uri(part.FileName, UriKind.Relative))
                                         select VersionUtility.ParseFrameworkNameFromFilePath(UriUtility.GetPath(new Uri(part.FileName, UriKind.Relative)), out effectivePath);
                    }
                }
            }

            return(base.GetSupportedFrameworks()
                   .Concat(fileFrameworks)
                   .Where(f => f != null)
                   .Distinct());
        }
Пример #4
0
        protected ZipPackageFile(string path, Func <Stream> streamFactory)
        {
            string str;

            this.Path             = path;
            this._streamFactory   = streamFactory;
            this._targetFramework = VersionUtility.ParseFrameworkNameFromFilePath(path, out str);
            this.EffectivePath    = str;
        }
        protected PackageFileBase(string path)
        {
            Path = path;

            string effectivePath;

            _targetFramework = VersionUtility.ParseFrameworkNameFromFilePath(path, out effectivePath);
            EffectivePath    = effectivePath;
        }
        protected ZipPackageFile(string path, Func <Stream> streamFactory)
        {
            Path           = path;
            _streamFactory = streamFactory;

            string effectivePath;

            _targetFramework = VersionUtility.ParseFrameworkNameFromFilePath(path, out effectivePath);
            EffectivePath    = effectivePath;
        }
Пример #7
0
        public override IEnumerable <FrameworkName> GetSupportedFrameworks()
        {
            string effectivePath;
            IEnumerable <FrameworkName> fileFrameworks = from file in GetPackageFilePaths().Select(GetPackageRelativePath)
                                                         let targetFramework = VersionUtility.ParseFrameworkNameFromFilePath(file, out effectivePath)
                                                                               where targetFramework != null
                                                                               select targetFramework;

            return(base.GetSupportedFrameworks()
                   .Concat(fileFrameworks)
                   .Distinct());
        }
Пример #8
0
        protected ZipPackageFile(string path, ZipEntry entry)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                entry.Extract(ms);
                _streamFactory = ms.ToStreamFactory();
            }

            Path = path;

            string effectivePath;

            _targetFramework = VersionUtility.ParseFrameworkNameFromFilePath(path, out effectivePath);
            EffectivePath    = effectivePath;
        }
Пример #9
0
        public override IEnumerable <FrameworkName> GetSupportedFrameworks()
        {
            IEnumerable <FrameworkName> fileFrameworks;

            using (Stream stream = _streamFactory())
            {
                var package = new ZipArchive(stream);

                string effectivePath;
                fileFrameworks                       = from part in package.Entries
                                            let path = part.FullName.Replace('/', '\\')
                                                       where IsPackageFile(part)
                                                       select VersionUtility.ParseFrameworkNameFromFilePath(path, out effectivePath);
            }

            return(base.GetSupportedFrameworks()
                   .Concat(fileFrameworks)
                   .Where(f => f != null)
                   .Distinct());
        }