public bool TryRestore()

in TeamCity.CSharpInteractive/NuGetRestoreService.cs [46:103]


    public bool TryRestore(NuGetRestoreSettings settings, out string projectAssetsJson)
    {
        var tempDirectory = _environment.GetPath(SpecialFolder.Temp);
        var outputPath = Path.Combine(tempDirectory, _uniqueNameGenerator.Generate());
        var targetFrameworkMoniker = settings.TargetFrameworkMoniker;
        var tfm = targetFrameworkMoniker ?? _dotnetEnvironment.TargetFrameworkMoniker;
        targetFrameworkMoniker = _targetFrameworkMonikerParser.Parse(tfm);
        var projectStyle = settings.PackageType switch
        {
            NuGetPackageType.Tool => "DotNetToolReference ",
            _ => "PackageReference"
        };

        _log.Trace(() => new[] {new Text($"Restore nuget package {settings.PackageId} {settings.VersionRange} to \"{outputPath}\" and \"{settings.PackagesPath}\".")});
        var restoreGraphItems = new[]
        {
            CreateTaskItem("RestoreSpec"),

            // { "ConfigFilePaths", @"C:\Users\Nikol\AppData\Roaming\NuGet\NuGet.Config;C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.FallbackLocation.config;C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config;C:\Program Files (x86)\NuGet\Config\Xamarin.Offline.config" }
            CreateTaskItem(
                "ProjectSpec",
                ("ProjectName", Project),
                ("ProjectStyle", projectStyle),
                ("Sources", string.Join(";", settings.Sources)),
                ("FallbackFolders", string.Join(";", settings.FallbackFolders)),
                ("OutputPath", outputPath),
                ("PackagesPath", settings.PackagesPath),
                ("ValidateRuntimeAssets", "false")),

            CreateTaskItem(
                "Dependency",
                ("TargetFrameworks", tfm),
                ("Id", settings.PackageId),
                ("VersionRange", settings.VersionRange?.ToString() ?? "*"),
                ("IncludeAssets", "All")),

            CreateTaskItem(
                "TargetFrameworkInformation",
                ("TargetFramework", tfm),
                ("TargetFrameworkMoniker", targetFrameworkMoniker))
        };

        projectAssetsJson = Path.Combine(outputPath, "project.assets.json");
        return new RestoreTask
        {
            RestoreDisableParallel = settings.DisableParallel ?? _restoreDisableParallel,
            RestoreIgnoreFailedSources = settings.IgnoreFailedSources ?? _restoreIgnoreFailedSources,
            HideWarningsAndErrors = settings.HideWarningsAndErrors ?? _hideWarningsAndErrors,
            RestoreNoCache = settings.NoCache ?? _restoreNoCache,
            RestoreForceEvaluate = false,
            RestorePackagesConfig = false,
            RestoreRecursive = true,
            RestoreForce = false,
            Interactive = _settings.InteractionMode == InteractionMode.Interactive,
            RestoreGraphItems = restoreGraphItems,
            BuildEngine = _buildEngine
        }.Execute();
    }