Example #1
0
        public PackageTargetFramework FindClosestTargetFramework(object inputTargetFramework)
        {
            var moniker = (inputTargetFramework ?? "").ToString().Trim().ToLowerInvariant();

            var tf = TargetFrameworks.FirstOrDefault(x => x.Moniker == moniker);

            if (tf != null)
            {
                return(tf);
            }

            tf = TargetFrameworks.LastOrDefault(x => x.Moniker.StartsWith("netstandard2", StringComparison.Ordinal));
            if (tf != null)
            {
                return(tf);
            }

            tf = TargetFrameworks.LastOrDefault(x => x.Moniker.StartsWith("netstandard", StringComparison.Ordinal));
            if (tf != null)
            {
                return(tf);
            }

            tf = TargetFrameworks.LastOrDefault(x => x.Moniker.StartsWith("net", StringComparison.Ordinal));
            if (tf != null)
            {
                return(tf);
            }

            if (tf == null)
            {
                tf = TargetFrameworks.FirstOrDefault();
            }
            return(tf);
        }