private async ValueTask <object> CreateProjectManagerServiceAsync(
            ServiceMoniker moniker,
            ServiceActivationOptions options,
            IServiceBroker serviceBroker,
            AuthorizationServiceClient authorizationServiceClient,
            CancellationToken cancellationToken)
        {
            await _lazyInitializer.InitializeAsync(cancellationToken);

#pragma warning disable CA2000 // Dispose objects before losing scope
            var service = new NuGetProjectManagerService(
                options,
                serviceBroker,
                authorizationServiceClient,
                _projectManagerServiceSharedState,
                _sharedServiceState);
#pragma warning restore CA2000 // Dispose objects before losing scope

            return(service);
        }
Пример #2
0
        private void Initialize(IReadOnlyList <PackageSource> packageSources = null)
        {
            SourceRepositoryProvider sourceRepositoryProvider;

            if (packageSources == null || packageSources.Count == 0)
            {
                sourceRepositoryProvider = TestSourceRepositoryUtility.CreateV3OnlySourceRepositoryProvider();
            }
            else
            {
                sourceRepositoryProvider = TestSourceRepositoryUtility.CreateSourceRepositoryProvider(packageSources);
            }

            _solutionManager = new TestVsSolutionManager();
            _testDirectory   = TestDirectory.Create();
            ISettings testSettings           = CreateSettings(sourceRepositoryProvider, _testDirectory);
            var       deleteOnRestartManager = new TestDeleteOnRestartManager();

            _packageManager = new NuGetPackageManager(
                sourceRepositoryProvider,
                testSettings,
                _solutionManager,
                deleteOnRestartManager);
            _state       = new NuGetProjectManagerServiceState();
            _sharedState = new TestSharedServiceState(
                new Microsoft.VisualStudio.Threading.AsyncLazy <NuGetPackageManager>(
                    () => Task.FromResult(_packageManager)),
                new Microsoft.VisualStudio.Threading.AsyncLazy <IVsSolutionManager>(
                    () => Task.FromResult <IVsSolutionManager>(_solutionManager)),
                sourceRepositoryProvider,
                new Microsoft.VisualStudio.Threading.AsyncLazy <IReadOnlyCollection <SourceRepository> >(
                    () => Task.FromResult <IReadOnlyCollection <SourceRepository> >(sourceRepositoryProvider.GetRepositories().ToList())));
            _projectManager = new NuGetProjectManagerService(
                default(ServiceActivationOptions),
                Mock.Of <IServiceBroker>(),
                new AuthorizationServiceClient(Mock.Of <IAuthorizationService>()),
                _state,
                _sharedState);
        }