예제 #1
0
        public NuGetPluginSolution(DirectoryPath pluginDirPath,
                                   DirectoryPath pluginHomeDirPath,
                                   DirectoryPath packageDirPath,
                                   NuGetInstalledPluginRepository <TMeta> pluginRepo,
                                   global::PluginManager.PackageManager.NuGet.SourceRepositoryProvider sourceRepositories,
                                   ISettings settings,
                                   NuGetFramework currentFramework)
        {
            SolutionDirectory   = pluginDirPath.Collapse().FullPath;
            NuGetProjectContext = new NuGetProjectContext(settings);

            _packageDirPath     = packageDirPath;
            _pluginHomeDirPath  = pluginHomeDirPath;
            _pluginRepo         = pluginRepo;
            _sourceRepositories = sourceRepositories;
            _settings           = settings;
            _currentFramework   = currentFramework;

            _projectMap = _pluginRepo.Plugins.Select(
                p => new NuGetPluginProject <TMeta>(
                    CreatePackageManager,
                    CanUninstallPackage,
                    _currentFramework,
                    _packageDirPath,
                    _pluginHomeDirPath,
                    p,
                    true)
                ).ToDictionary(k => k.Plugin.Id);
        }
 public NuGetDeleteOnRestartManager(NuGetInstalledPluginRepository <TMeta> pluginRepo)
 {
     _pluginRepo = pluginRepo;
 }