/// <summary>
        /// Возвращает наименьшую поддерживаемую версию фреймворка для указанного пакета.
        /// </summary>
        /// <param name="packageIdentity">Идентификатор пакета.</param>
        private NuGetFramework GetPackageLowestSupportedFramework(PackageIdentity packageIdentity)
        {
            var packagePath = GetPackagePath(packageIdentity);

            using (var reader = new PackageFolderReader(packagePath))
            {
                // Выбираются только поддерживаемые TargetFramework, содержащие файлы в каталоге 'lib'

                return reader.GetLibItems()
                             .OrderBy(i => i.TargetFramework, NuGetFrameworkComparer)
                             .FirstOrDefault(i => NuGetFrameworkComparer.Compare(i.TargetFramework, NuGetFramework.AnyFramework) != 0
                                                  && !i.TargetFramework.IsUnsupported
                                                  && i.Items != null
                                                  && i.Items.Any())?.TargetFramework;
            }
        }
        /// <summary>
        /// Добавляет в содержимое пакета совместимые версии файлов из указанного пакета.
        /// </summary>
        /// <param name="packageContent">Содержимое пакета.</param>
        /// <param name="packageIdentity">Идентификатор пакета.</param>
        /// <param name="targetFramework">Версия совместимого фреймворка.</param>
        /// <param name="compatibilityProvider">Провайдер для проверки совместимости фреймворков.</param>
        private void FillPackageContent(PackageContent packageContent,
                                        PackageIdentity packageIdentity,
                                        NuGetFramework targetFramework,
                                        IFrameworkCompatibilityProvider compatibilityProvider)
        {
            var packagePath = GetPackagePath(packageIdentity);

            using (var reader = new PackageFolderReader(packagePath))
            {
                var libItems = GetCompatibleItems(reader, reader.GetLibItems().ToList(), targetFramework, compatibilityProvider);

                if (libItems?.Items != null)
                {
                    foreach (var item in libItems.Items)
                    {
                        var installItem = GetPackageItem(packagePath, item, PackagingConstants.Folders.Lib, libItems.TargetFramework);
                        packageContent.Lib.Add(installItem);
                    }
                }

                var contentItems = GetCompatibleItems(reader, reader.GetContentItems().ToList(), targetFramework, compatibilityProvider);

                if (contentItems?.Items != null)
                {
                    foreach (var item in contentItems.Items)
                    {
                        var installItem = GetPackageItem(packagePath, item, PackagingConstants.Folders.Content, contentItems.TargetFramework);
                        packageContent.Content.Add(installItem);
                    }
                }

                var pluginItems = GetCompatibleItems(reader, reader.GetPluginItems().ToList(), targetFramework, compatibilityProvider);

                if (pluginItems?.Items != null)
                {
                    foreach (var item in pluginItems.Items)
                    {
                        var installItem = GetPackageItem(packagePath, item, PluginFolderName, pluginItems.TargetFramework);
                        packageContent.Plugin.Add(installItem);
                    }
                }
            }
        }