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); }
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; }
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(); } }
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())); }
/// <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); }
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()); } }
/// <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; } }