/// <summary> /// Formatted to a System.Versioning.FrameworkName /// </summary> public string GetDotNetFrameworkName(IFrameworkNameProvider mappings) { // Check for rewrites var framework = mappings.GetFullNameReplacement(this); if (framework.IsNet5Era) { return(GetShortFolderName()); } else if (framework.IsSpecificFramework) { var parts = new List <string>(3) { Framework }; parts.Add(string.Format(CultureInfo.InvariantCulture, "Version=v{0}", GetDisplayVersion(framework.Version))); if (!string.IsNullOrEmpty(framework.Profile)) { parts.Add(string.Format(CultureInfo.InvariantCulture, "Profile={0}", framework.Profile)); } return(string.Join(",", parts)); } else { return(string.Format(CultureInfo.InvariantCulture, "{0},Version=v0.0", framework.Framework)); } }
private void LoadAvailableFrameworks() { var version = Environment.Version; var revision = version.Revision; var frameworkStringList = new List <string>(); if (revision < 42000 && revision > 0) { GetOlderFrameworkVersionsFromRegistry(frameworkStringList); } else { GetNewerFrameworkVersionsFromRegistry(frameworkStringList); } #if NETCORE var netCoreDescription = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription; if (netCoreDescription.Contains(".NET Core")) { frameworkStringList.Add($".NETCoreApp,Version=v{version.Major}.{version.Minor}"); } else { if (version.Major >= 5) { // Support .NET 5+ frameworkStringList.Add($".NETCoreApp,Version=v{version.Major}.0"); } } #endif foreach (var frameworkName in frameworkStringList.Distinct()) { var targetFramework = FrameworkParser.TryParseFrameworkName(frameworkName, _frameworkNameProvider); if (targetFramework != NuGetFramework.UnsupportedFramework) { targetFramework = _frameworkNameProvider.GetFullNameReplacement(targetFramework); _nuGetFrameworks.Add(targetFramework); } } }