private void UpdateUnresolvedDependencies(ProjectState state, bool allowRestore)
        {
            var libraryManager      = state.ProjectContext.LibraryManager;
            var allDiagnostics      = libraryManager.GetAllDiagnostics();
            var unresolvedLibraries = libraryManager.GetLibraries().Where(dep => !dep.Resolved);
            var needRestore         = allDiagnostics.Any(diag => diag.ErrorCode == ErrorCodes.NU1006) || unresolvedLibraries.Any();

            if (needRestore)
            {
                var unresolvedDependencies = unresolvedLibraries.Select(library =>
                                                                        new PackageDependency
                {
                    Name    = library.Identity.Name,
                    Version = library.Identity.Version?.ToString()
                });

                var projectFile = state.ProjectContext.ProjectFile;

                if (allowRestore && _enableRestorePackages)
                {
                    _dotNetCliService.RestoreAsync(projectFile.ProjectDirectory, onFailure: () =>
                    {
                        _eventEmitter.UnresolvedDepdendencies(projectFile.ProjectFilePath, unresolvedDependencies);
                    });
                }
                else
                {
                    _eventEmitter.UnresolvedDepdendencies(projectFile.ProjectFilePath, unresolvedDependencies);
                }
            }
        }
        public void CheckForUnresolvedDependences(ProjectFileInfo projectFile, bool allowAutoRestore)
        {
            var unresolvedPackageReferences = FindUnresolvedPackageReferences(projectFile);

            if (unresolvedPackageReferences.IsEmpty)
            {
                return;
            }

            var unresolvedDependencies = unresolvedPackageReferences.Select(packageReference =>
                                                                            new PackageDependency
            {
                Name    = packageReference.Dependency.Id,
                Version = packageReference.Dependency.VersionRange.ToNormalizedString()
            });

            if (allowAutoRestore && _options.EnablePackageAutoRestore)
            {
                _dotNetCli.RestoreAsync(projectFile.Directory, onFailure: () =>
                {
                    _eventEmitter.UnresolvedDepdendencies(projectFile.FilePath, unresolvedDependencies);
                });
            }
            else
            {
                _eventEmitter.UnresolvedDepdendencies(projectFile.FilePath, unresolvedDependencies);
            }
        }