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 01:58:12 +0300
committerMikayla Hutchinson <m.j.hutchinson@gmail.com>2016-09-22 01:58:12 +0300
commit3895303d41f0515a5fd937ff952b705b7d02b1d7 (patch)
tree3b3176a0f588efd5eb5244971386964a95a5553a /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels
parent95e0245efb4018a57b554082b1d082f6b96a7908 (diff)
[netstandard] Use MSBuild-style PCL TFMs in project.json
https://bugzilla.xamarin.com/show_bug.cgi?id=44597 Even though NuGet iteself prefers "NuGet-style" short TFMs, the NuGet MSBuild tasks don't understand them.
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.cs61
1 files changed, 6 insertions, 55 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 a194bb88bc..3dd0e130f8 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
@@ -255,7 +255,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
//if project.json exists, update it
if (projectJsonFile != null) {
- var nugetFx = nsVersion ?? GetPclShortNameMapping (fx.Id) ?? NetStandardDefaultFramework;
+ var nugetFx = nsVersion ?? GetPclProfileFullName (fx.Id) ?? NetStandardDefaultFramework;
bool projectJsonChanged;
SetProjectJsonValues (projectJsonFile.FilePath, nugetFx, out projectJsonChanged);
needsRestore = projectJsonChanged;
@@ -401,7 +401,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
}
}
- var framework = GetPclShortNameMapping (project.TargetFramework.Id) ?? NetStandardDefaultFramework;
+ var framework = GetPclProfileFullName (project.TargetFramework.Id) ?? NetStandardDefaultFramework;
json ["frameworks"] = new JObject (
new JProperty (framework, new JObject())
);
@@ -436,68 +436,19 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
return r.GetReferencedFileNames(null).Any (f => ((FilePath)f).IsChildPathOf (packagesDir));
}
- static string GetPclShortNameMapping (TargetFrameworkMoniker tfm)
+ static string GetPclProfileFullName (TargetFrameworkMoniker tfm)
{
if (tfm.Identifier != TargetFrameworkMoniker.ID_PORTABLE) {
return null;
}
- //we can only look up via profile numbers for 4.x PCLs
- if (tfm.Version == null || !tfm.Version.StartsWith ("4.", StringComparison.Ordinal)
- || tfm.Profile == null || !tfm.Profile.StartsWith ("Profile", StringComparison.Ordinal))
+ //nuget only accepts pcls with a profile number
+ if (tfm.Profile == null || !tfm.Profile.StartsWith ("Profile", StringComparison.Ordinal))
{
return null;
}
- // look up against all extant profile numbers
- switch (tfm.Profile.Substring ("Profile".Length)) {
- case "31": return "portable-win81+wp81";
- case "32": return "portable-win81+wpa81";
- case "44": return "portable-net451+win81";
- case "84": return "portable-wp81+wpa81";
- case "151": return "portable-net451+win81+wpa81";
- case "157": return "portable-win81+wp81+wpa81";
- case "7": return "portable-net45+win8";
- case "49": return "portable-net45+wp8";
- case "78": return "portable-net45+win8+wp8";
- case "111": return "portable-net45+win8+wpa81";
- case "259": return "portable-net45+win8+wpa81+wp8";
- case "2": return "portable-net4+win8+sl4+wp7";
- case "3": return "portable-net4+sl4";
- case "4": return "portable-net45+sl4+win8+wp7";
- case "5": return "portable-net4+win8";
- case "6": return "portable-net403+win8";
- case "14": return "portable-net4+sl5";
- case "18": return "portable-net403+sl4";
- case "19": return "portable-net403+sl5";
- case "23": return "portable-net45+sl4";
- case "24": return "portable-net45+sl5";
- case "36": return "portable-net4+sl4+win8+wp8";
- case "37": return "portable-net4+sl5+win8";
- case "41": return "portable-net403+sl4+win8";
- case "42": return "portable-net403+sl5+win8";
- case "46": return "portable-net45+sl4+win8";
- case "47": return "portable-net45+sl5+win8";
- case "88": return "portable-net4+sl4+win8+wp75";
- case "92": return "portable-net4+win8+wpa81";
- case "95": return "portable-net403+sl4+win8+wp7";
- case "96": return "portable-net403+sl4+win8+wp75";
- case "102": return "portable-net403+win8+wpa81";
- case "104": return "portable-net45+sl4+win8+wp75";
- case "136": return "portable-net4+sl5+win8+wp8";
- case "143": return "portable-net403+sl4+win8+wp8";
- case "147": return "portable-net403+sl5+win8+wp8";
- case "154": return "portable-net45+sl4+win8+wp8";
- case "158": return "portable-net45+sl5+win8+wp8";
- case "225": return "portable-net4+sl5+win8+wpa81";
- case "240": return "portable-net403+sl5+win8+wpa81";
- case "255": return "portable-net45+sl5+win8+wpa81";
- case "328": return "portable-net4+sl5+win8+wpa81+wp8";
- case "336": return "portable-net403+sl5+win8+wpa81+wp8";
- case "344": return "portable-net45+sl5+win8+wpa81+wp8";
- }
-
- return null;
+ return tfm.ToString ();
}
static string EnsureMinimumVersion (string minimum, string existing)