NuGet.InstallWalker.ResolveDependency C# (CSharp) Méthode

ResolveDependency() protected méthode

protected ResolveDependency ( PackageDependency dependency ) : IPackage
dependency PackageDependency
Résultat IPackage
        protected override IPackage ResolveDependency(PackageDependency dependency)
        {
            Logger.Log(MessageLevel.Info, NuGetResources.Log_AttemptingToRetrievePackageFromSource, dependency);

            // First try to get a local copy of the package
            // Bug1638: Include prereleases when resolving locally installed dependencies.
            IPackage package = Repository.ResolveDependency(dependency, ConstraintProvider, allowPrereleaseVersions: true, preferListedPackages: false);

            // Next, query the source repo for the same dependency
            IPackage sourcePackage = SourceRepository.ResolveDependency(dependency, ConstraintProvider, AllowPrereleaseVersions, preferListedPackages: true);

            // We didn't find a copy in the local repository
            if (package == null)
            {
                return sourcePackage;
            }

            // Only use the package from the source repository if it's a newer version (it'll only be newer in bug fixes)
            if (sourcePackage != null && package.Version < sourcePackage.Version)
            {
                return sourcePackage;
            }

            return package;
        }