Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikayla Hutchinson <m.j.hutchinson@gmail.com>2016-09-22 02:28:47 +0300
committerMikayla Hutchinson <m.j.hutchinson@gmail.com>2016-09-22 02:28:47 +0300
commit99563ca4eaa520d851f2babdee45ee34be76568a (patch)
treedc55a1bafaf692d61d9fcef72cc4a9598489eea2 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels
parent3895303d41f0515a5fd937ff952b705b7d02b1d7 (diff)
[netstandard] Better default values switching to from PCL
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/PortableRuntimeOptionsPanel.cs18
1 files changed, 14 insertions, 4 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/PortableRuntimeOptionsPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/PortableRuntimeOptionsPanel.cs
index 3dd0e130f8..f3ad88e58e 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/PortableRuntimeOptionsPanel.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/PortableRuntimeOptionsPanel.cs
@@ -68,6 +68,9 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
TargetFrameworkMoniker pcl5Tfm = new TargetFrameworkMoniker (TargetFrameworkMoniker.ID_PORTABLE, "v5.0");
+ // Profile 111 is ~equivalent to netstandard 1.1
+ TargetFrameworkMoniker defaultPclTfm = new TargetFrameworkMoniker (TargetFrameworkMoniker.ID_PORTABLE, "v4.5", "Profile111");
+
string [] KnownNetStandardVersions = new [] {
"netstandard1.0",
"netstandard1.1",
@@ -100,17 +103,24 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
TargetFramework = project.TargetFramework;
- string projectJsonFramework = null;
+ string netstandardVersion = null;
try {
- projectJsonFramework = GetProjectJsonFrameworks (project)?.FirstOrDefault ();
+ netstandardVersion = GetProjectJsonFrameworks (project)?.FirstOrDefault ();
+ if (netstandardVersion != null && !netstandardVersion.StartsWith ("netstandard", StringComparison.Ordinal)) {
+ netstandardVersion = null;
+ }
} catch (Exception ex) {
LoggingService.LogError ("Error reading project.json file", ex);
}
- NetStandardVersion = projectJsonFramework;
+ NetStandardVersion = netstandardVersion;
- if (projectJsonFramework != null && projectJsonFramework.StartsWith ("netstandard", StringComparison.Ordinal)) {
+ if (netstandardVersion != null) {
netstandardRadio.Active = true;
+ // Even though netstandard really uses PCL5 in the project file, that PCL is not really useful by itself.
+ // Within this dialog, replace it with a better value for the user to get if they switch to PCL.
+ // When saving , if it's netstandard we'll write PCL5 to the project regardless.
+ TargetFramework = Runtime.SystemAssemblyService.GetTargetFramework (defaultPclTfm);
} else {
pclRadio.Active = true;
}