Пример #1
0
        public LibraryDescription GetDescription(LibraryRange libraryRange, FrameworkName targetFramework)
        {
            if (libraryRange.IsGacOrFrameworkReference)
            {
                return(null);
            }

            if (!DependencyTargets.SupportsProject(libraryRange.Target))
            {
                return(null);
            }

            string name = libraryRange.Name;

            Runtime.Project project;

            // Can't find a project file with the name so bail
            if (!_projectResolver.TryResolveProject(name, out project))
            {
                return(null);
            }

            // This never returns null
            var targetFrameworkInfo = project.GetCompatibleTargetFramework(targetFramework);

            var dependencies = project.Dependencies.Concat(targetFrameworkInfo.Dependencies).ToList();

            return(new ProjectDescription(
                       libraryRange,
                       project,
                       dependencies,
                       Enumerable.Empty <string>(),
                       targetFrameworkInfo,
                       resolved: true));
        }
        public LibraryDescription GetDescription(LibraryRange libraryRange, FrameworkName targetFramework)
        {
            if (libraryRange.IsGacOrFrameworkReference)
            {
                return(null);
            }

            if (!DependencyTargets.SupportsProject(libraryRange.Target))
            {
                return(null);
            }

            string name = libraryRange.Name;

            Runtime.Project project;

            // Can't find a project file with the name so bail
            if (!_projectResolver.TryResolveProject(name, out project))
            {
                return(null);
            }

            // This never returns null
            var targetFrameworkInfo = project.GetCompatibleTargetFramework(targetFramework);

            var dependencies = project.Dependencies.Concat(targetFrameworkInfo.Dependencies).ToList();

            if (!dependencies.Any(d => d.Name.Equals(ImplicitPackagesWalkProvider.ImplicitRuntimePackageId)))
            {
                dependencies.Add(new LibraryDependency()
                {
                    LibraryRange = new LibraryRange(ImplicitPackagesWalkProvider.ImplicitRuntimePackageId, frameworkReference: false)
                    {
                        VersionRange = new SemanticVersionRange()
                        {
                            MinVersion           = ImplicitPackagesWalkProvider.ImplicitRuntimePackageVersion,
                            MaxVersion           = ImplicitPackagesWalkProvider.ImplicitRuntimePackageVersion,
                            IsMaxInclusive       = true,
                            VersionFloatBehavior = SemanticVersionFloatBehavior.None
                        }
                    }
                });
            }

            return(new ProjectDescription(
                       libraryRange,
                       project,
                       dependencies,
                       Enumerable.Empty <string>(),
                       targetFrameworkInfo,
                       resolved: true));
        }