public bool TryResolveAssemblies()

in TeamCity.CSharpInteractive/NuGetReferenceResolver.cs [29:69]


    public bool TryResolveAssemblies(string packageId, VersionRange? versionRange, out IReadOnlyCollection<ReferencingAssembly> assemblies)
    {
        var result = new List<ReferencingAssembly>();
        assemblies = result;
        var packageName = $"{packageId} {versionRange}".Trim();
        _log.Info(new[] {new Text($"Restoring package {packageName}.", Color.Highlighted)});
        var restoreResult = _nugetRestoreService.TryRestore(
            new NuGetRestoreSettings(
                packageId,
                _nugetEnvironment.Sources,
                _nugetEnvironment.FallbackFolders,
                versionRange,
                default,
                _nugetEnvironment.PackagesPath
            ),
            out var projectAssetsJson);

        if (!restoreResult)
        {
            return false;
        }

        var output = Path.GetDirectoryName(projectAssetsJson);
        var outputPathToken = Disposable.Empty;
        if (!string.IsNullOrWhiteSpace(output))
        {
            outputPathToken = _cleaner.Track(output);
        }

        using (outputPathToken)
        {
            _log.Trace(() => new Text("Assemblies referenced:"));
            foreach (var assembly in _nugetAssetsReader.ReadReferencingAssemblies(projectAssetsJson))
            {
                _log.Trace(() => new []{ Text.Tab, new Text(assembly.Name) });
                result.Add(assembly);
            }
        }

        return true;
    }