Esempio n. 1
0
        public void GetNetCoreAppTargetFrameworks_NetCore21RuntimeInstalled()
        {
            DotNetCoreRuntimesInstalled("2.1.0");

            var frameworks = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().ToList();

            Assert.AreEqual(".NETCoreApp,Version=v2.1", frameworks [0].Id.ToString());
            Assert.AreEqual(1, frameworks.Count);
        }
Esempio n. 2
0
        public DotNetCoreRuntimeOptionsPanelWidget(DotNetProject project)
        {
            Build();

            this.project = project;
            if (project == null)
            {
                Sensitive = false;
                return;
            }

            dotNetCoreProject = project.GetFlavor <DotNetCoreProjectExtension> ();
            var supportedTargetFrameworks = new DotNetCoreProjectSupportedTargetFrameworks(project);

            frameworks = supportedTargetFrameworks.GetFrameworks().ToList();

            bool notInstalled = false;

            if (!frameworks.Any(fx => fx.Id == project.TargetFramework.Id))
            {
                frameworks.Add(project.TargetFramework);
                notInstalled = true;
            }

            //sort by id ascending, version descending
            frameworks.Sort((x, y) => {
                var cmp = string.CompareOrdinal(x.Id.Identifier, y.Id.Identifier);
                if (cmp != 0)
                {
                    return(cmp);
                }
                return(string.CompareOrdinal(y.Id.Version, x.Id.Version));
            });

            for (int i = 0; i < frameworks.Count; i++)
            {
                var fx = frameworks[i];
                if (project.TargetFramework.Id == fx.Id)
                {
                    if (notInstalled)
                    {
                        runtimeVersionCombo.AppendText(GettextCatalog.GetString("{0} (Not installed)", fx.GetDisplayName()));
                    }
                    else
                    {
                        runtimeVersionCombo.AppendText(fx.GetDisplayName());
                    }
                    runtimeVersionCombo.Active = i;
                }
                else
                {
                    runtimeVersionCombo.AppendText(fx.GetDisplayName());
                }
            }

            Sensitive = frameworks.Count > 1;
        }
Esempio n. 3
0
        public void GetNetCoreAppTargetFrameworksWithSdkSupport_NetCore30And22RuntimeInstalled_22SdkInstalled()
        {
            DotNetCoreRuntimesInstalled("3.0.0-preview-27324-5", "2.2.7");
            DotNetCoreSdksInstalled("2.2.401");

            var frameworks = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworksWithSdkSupport().ToList();

            Assert.AreEqual(".NETCoreApp,Version=v2.2", frameworks [0].Id.ToString());
            Assert.AreEqual(1, frameworks.Count);
        }
        /// <summary>
        /// Set default parameter values if no wizard will be displayed.
        /// </summary>
        void ConfigureDefaultParameters()
        {
            if (IsSupportedParameter("NetStandard"))
            {
                var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetStandardTargetFrameworks().FirstOrDefault();

                if (highestFramework != null && highestFramework.IsNetStandard20())
                {
                    Parameters ["UseNetStandard20"] = "true";
                }
                else
                {
                    Parameters ["UseNetStandard1x"] = "true";
                }
            }
            else
            {
                if (!SupportsNetCore1x())
                {
                    var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().FirstOrDefault();
                    if (highestFramework != null && highestFramework.IsNetCoreApp21())
                    {
                        Parameters ["UseNetCore21"] = "true";
                    }
                    else
                    {
                        Parameters ["UseNetCore20"] = "true";
                    }
                }
                else
                {
                    var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().FirstOrDefault();
                    if (highestFramework != null)
                    {
                        if (highestFramework.IsNetCoreApp21())
                        {
                            Parameters ["UseNetCore21"] = "true";
                        }
                        else if (highestFramework.IsNetCoreApp20())
                        {
                            Parameters ["UseNetCore20"] = "true";
                        }
                        else
                        {
                            Parameters ["UseNetCore1x"] = "true";
                        }
                    }
                    else
                    {
                        Parameters ["UseNetCore1x"] = "true";
                    }
                }
                ConfigureDefaultNetCoreAppFramework();
            }
        }
Esempio n. 5
0
        public void GetNetCoreAppTargetFrameworks_NetCore30RuntimeInstalled()
        {
            //NOTE: since we are now checking unsupported runtime version
            // here we set the latest supported one
            DotNetCoreRuntimesInstalled("3.0.0-preview-27324-5");

            var frameworks = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().ToList();

            Assert.AreEqual(".NETCoreApp,Version=v3.0", frameworks [0].Id.ToString());
            Assert.AreEqual(1, frameworks.Count);
        }
        static IEnumerable <TargetFramework> GetNetCoreAppTargetFrameworks()
        {
            bool includeNetCore20Frameworks = IncludeNetCore20TargetFrameworks();

            if (includeNetCore20Frameworks)
            {
                return(DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks());
            }

            return(DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks()
                   .Where(framework => !framework.IsNetCoreApp20()));
        }
Esempio n. 7
0
        /// <summary>
        /// Set default parameter values if no wizard will be displayed.
        /// </summary>
        void ConfigureDefaultParameters()
        {
            if (IsSupportedParameter("NetStandard"))
            {
                var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetStandardTargetFrameworks().FirstOrDefault();

                var parameter = highestFramework.GetParameterName();
                if (!string.IsNullOrEmpty(parameter))
                {
                    Parameters [parameter] = "true";
                }
            }
            else
            {
                if (!SupportsNetCore1x())
                {
                    var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().FirstOrDefault();
                    if (highestFramework != null && highestFramework.IsNetCoreAppOrHigher(DotNetCoreVersion.Parse("2.0")))
                    {
                        var parameter = highestFramework.GetParameterName();
                        if (!string.IsNullOrEmpty(parameter))
                        {
                            Parameters [parameter] = "true";
                        }
                    }
                    else
                    {
                        Parameters [defaultParameterNetCore20] = "true";
                    }
                }
                else
                {
                    var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().FirstOrDefault();
                    if (highestFramework != null)
                    {
                        var parameter = highestFramework.GetParameterName();
                        if (!string.IsNullOrEmpty(parameter))
                        {
                            Parameters [parameter] = "true";
                        }
                    }
                    else
                    {
                        Parameters [defaultParameterNetCore1x] = "true";
                    }
                }
                ConfigureDefaultNetCoreAppFramework();
            }
        }
        public void GetNetStandardTargetFrameworks_NetCore11RuntimeInstalled()
        {
            DotNetCoreRuntimesInstalled("1.1");

            var frameworks = DotNetCoreProjectSupportedTargetFrameworks.GetNetStandardTargetFrameworks().ToList();

            Assert.AreEqual(".NETStandard,Version=v1.6", frameworks [0].Id.ToString());
            Assert.AreEqual(".NETStandard,Version=v1.5", frameworks [1].Id.ToString());
            Assert.AreEqual(".NETStandard,Version=v1.4", frameworks [2].Id.ToString());
            Assert.AreEqual(".NETStandard,Version=v1.3", frameworks [3].Id.ToString());
            Assert.AreEqual(".NETStandard,Version=v1.2", frameworks [4].Id.ToString());
            Assert.AreEqual(".NETStandard,Version=v1.1", frameworks [5].Id.ToString());
            Assert.AreEqual(".NETStandard,Version=v1.0", frameworks [6].Id.ToString());
            Assert.AreEqual(7, frameworks.Count);
        }
Esempio n. 9
0
        public void GetNetStandardTargetFrameworks_MonoAndSdkInstalled(string monoVersion, string maxNetStandardVersion, params string[] sdkVersions)
        {
            DotNetCoreRuntimesInstalled(sdkVersions);
            MonoRuntimeInfoExtensions.CurrentRuntimeVersion = new Version(monoVersion);

            var frameworks = DotNetCoreProjectSupportedTargetFrameworks.GetNetStandardTargetFrameworks().ToList();

            int start = netStandardVersions.IndexOf(maxNetStandardVersion);

            Assert.That(start, Is.GreaterThanOrEqualTo(0));
            Assert.That(frameworks.Count, Is.EqualTo(netStandardVersions.Length - start));
            for (int i = start; i < netStandardVersions.Length; i++)
            {
                Assert.AreEqual($".NETStandard,Version=v{netStandardVersions[i]}", frameworks[i - start].Id.ToString());
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Framework needs to be specified for .NET Core library projects if only one runtime/sdk
        /// is available. Otherwise .NETStandard will be used for the target framework of the project.
        /// </summary>
        void ConfigureDefaultNetCoreAppFramework()
        {
            if (!IsSupportedParameter("NetCoreLibrary"))
            {
                return;
            }

            var highestFramework = DotNetCoreProjectSupportedTargetFrameworks.GetNetCoreAppTargetFrameworks().FirstOrDefault();

            if (highestFramework != null)
            {
                Parameters ["framework"] = highestFramework.Id.ShortName;
            }
            else
            {
                Parameters ["framework"] = "netcoreapp1.1";
            }
        }
        public DotNetCoreRuntimeOptionsPanelWidget(DotNetProject project)
        {
            Build();

            this.project = project;
            if (project == null)
            {
                Sensitive = false;
                return;
            }

            if (project.HasMultipleTargetFrameworks)
            {
                runtimeVersionCombo.AppendText(GettextCatalog.GetString("(Multiple Frameworks)"));
                runtimeVersionCombo.Active = 0;
                Sensitive = false;
            }
            else
            {
                dotNetCoreProject = project.GetFlavor <DotNetCoreProjectExtension> ();
                var supportedTargetFrameworks = new DotNetCoreProjectSupportedTargetFrameworks(project);
                var installedFrameworks       = supportedTargetFrameworks.GetFrameworks().ToList();
                knownFrameworks = supportedTargetFrameworks.GetKnownFrameworks()
                                  .Concat(installedFrameworks)
                                  .Distinct()
                                  .ToList();

                if (!knownFrameworks.Any(fx => fx.Id == project.TargetFramework.Id))
                {
                    knownFrameworks.Add(project.TargetFramework);
                }

                //sort by id ascending, version descending
                knownFrameworks.Sort((x, y) => {
                    var cmp = string.CompareOrdinal(x.Id.Identifier, y.Id.Identifier);
                    if (cmp != 0)
                    {
                        return(cmp);
                    }
                    return(string.CompareOrdinal(y.Id.Version, x.Id.Version));
                });

                for (int i = 0; i < knownFrameworks.Count; i++)
                {
                    var fx = knownFrameworks[i];
                    if (installedFrameworks.Any(f => f.Id == fx.Id))
                    {
                        runtimeVersionCombo.AppendText(fx.GetDisplayName());
                    }
                    else
                    {
                        runtimeVersionCombo.AppendText(GettextCatalog.GetString("{0} (Not installed)", fx.GetDisplayName()));
                    }

                    if (project.TargetFramework.Id == fx.Id)
                    {
                        runtimeVersionCombo.Active = i;
                    }
                }

                Sensitive = knownFrameworks.Count > 1;
            }
        }