public IPackageManager get_package_manager(string localPackageDirectory, IConfigurationSettings configuration)
        {
            var nugetLogger = new ServiceNugetLogger();

            NuGet.IFileSystem    nugetPackagesFileSystem = get_nuget_file_system(nugetLogger, localPackageDirectory);
            IPackagePathResolver pathResolver            = get_path_resolver(nugetPackagesFileSystem);
            var packageManager = new PackageManager(get_remote_repository(configuration, nugetLogger), pathResolver, nugetPackagesFileSystem, get_local_repository(pathResolver, nugetPackagesFileSystem))
            {
                DependencyVersion = DependencyVersion.Highest,
            };

            return(packageManager);
        }
        public IPackageRepository get_local_repository(IPackagePathResolver pathResolver, NuGet.IFileSystem nugetPackagesFileSystem)
        {
            this.Log().Debug(() => "Setting up local repository at '{0}'".format_with(nugetPackagesFileSystem.Root));

            IPackageRepository localRepository = new LocalPackageRepository(pathResolver, nugetPackagesFileSystem);

            localRepository.PackageSaveMode = PackageSaveModes.Nupkg | PackageSaveModes.Nuspec;

            return(localRepository);
        }
 public IPackagePathResolver get_path_resolver(NuGet.IFileSystem nugetPackagesFileSystem)
 {
     return(new DefaultPackagePathResolver(nugetPackagesFileSystem)
     {
     });
 }