示例#1
0
        IEnumerable <PackageOperationResult> AddProjectPackage(IPackageDescriptor targetDescriptor, IEnumerable <IPackageRepository> sourceRepositories)
        {
            var packageDescriptor = targetDescriptor.Lock(HostEnvironment.ProjectRepository);

            foreach (var m in PackageManager.AddProjectPackage(PackageRequest, sourceRepositories, packageDescriptor, HostEnvironment.ProjectRepository, AddOptions))
            {
                yield return(m);
            }
        }
        public static IEnumerable<Exports.IAssembly> GetProjectAssemblyReferences(this IPackageManager manager,
            IPackageDescriptor descriptor,
            IPackageRepository repository,
            ExecutionEnvironment environment,
            bool includeContentOnly)
        {
            var lockedDescriptor = descriptor.Lock(repository);
            var sourcePackages = manager.ListProjectPackages(lockedDescriptor, repository);
            var assemblies = manager.GetProjectExports<Exports.IAssembly>(lockedDescriptor, repository, environment)
                    .SelectMany(x => x);

            if (includeContentOnly) return assemblies;

            var packagesToInclude = sourcePackages.NotInContentBranch(lockedDescriptor.Dependencies).Select(x=>x.Identifier).ToList();
            return assemblies.Where(x => packagesToInclude.Contains(x.Package.Identifier)).ToList();
        }
示例#3
0
        public static IEnumerable <Exports.IAssembly> GetProjectAssemblyReferences(this IPackageManager manager,
                                                                                   IPackageDescriptor descriptor,
                                                                                   IPackageRepository repository,
                                                                                   ExecutionEnvironment environment,
                                                                                   bool includeContentOnly)
        {
            var lockedDescriptor = descriptor.Lock(repository);
            var sourcePackages   = manager.ListProjectPackages(lockedDescriptor, repository);
            var assemblies       = manager.GetProjectExports <Exports.IAssembly>(lockedDescriptor, repository, environment)
                                   .SelectMany(x => x);

            if (includeContentOnly)
            {
                return(assemblies);
            }

            var packagesToInclude = sourcePackages.NotInContentBranch(lockedDescriptor.Dependencies).Select(x => x.Identifier).ToList();

            return(assemblies.Where(x => packagesToInclude.Contains(x.Package.Identifier)).ToList());
        }
示例#4
0
        IEnumerable<PackageOperationResult> AddProjectPackage(IPackageDescriptor targetDescriptor, IEnumerable<IPackageRepository> sourceRepositories)
        {
            var packageDescriptor = targetDescriptor.Lock(HostEnvironment.ProjectRepository);

            foreach (var m in PackageManager.AddProjectPackage(PackageRequest, sourceRepositories, packageDescriptor, HostEnvironment.ProjectRepository, AddOptions))
                yield return m;
        }