diff --git a/clean.bat b/clean.bat
index 3b6b2a7f52..0d27dca3a1 100755
--- a/clean.bat
+++ b/clean.bat
@@ -3,7 +3,7 @@
 @if not exist "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.sln" (
 	git submodule update --init || exit /b 1
 )
-"%PROGFILES%\MSBuild\12.0\Bin\msbuild" /m SharpDevelop.sln /t:clean "/p:Platform=Any CPU" /p:Configuration=Debug
+"%PROGFILES%\MSBuild\14.0\Bin\msbuild" /m SharpDevelop.sln /t:clean "/p:Platform=Any CPU" /p:Configuration=Debug
 @IF %ERRORLEVEL% NEQ 0 PAUSE
-"%PROGFILES%\MSBuild\12.0\Bin\msbuild" /m SharpDevelop.sln /t:clean "/p:Platform=Any CPU" /p:Configuration=Release
+"%PROGFILES%\MSBuild\14.0\Bin\msbuild" /m SharpDevelop.sln /t:clean "/p:Platform=Any CPU" /p:Configuration=Release
 @IF %ERRORLEVEL% NEQ 0 PAUSE
\ No newline at end of file
diff --git a/debugbuild.bat b/debugbuild.bat
index fbc59e4a41..b768b49175 100755
--- a/debugbuild.bat
+++ b/debugbuild.bat
@@ -3,7 +3,7 @@
 @if not exist "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.sln" (
 	git submodule update --init || exit /b 1
 )
-"%PROGFILES%\MSBuild\12.0\Bin\msbuild" /m SharpDevelop.sln /p:Configuration=Debug "/p:Platform=Any CPU" %*
+"%PROGFILES%\MSBuild\14.0\Bin\msbuild" /m SharpDevelop.sln /p:Configuration=Debug "/p:Platform=Any CPU" %*
 @IF %ERRORLEVEL% NEQ 0 GOTO err
 @exit /B 0
 :err
diff --git a/releasebuild.bat b/releasebuild.bat
index f893b6f31c..8a6f2a519c 100755
--- a/releasebuild.bat
+++ b/releasebuild.bat
@@ -3,7 +3,7 @@
 @if not exist "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.sln" (
 	git submodule update --init || exit /b 1
 )
-"%PROGFILES%\MSBuild\12.0\Bin\msbuild" /m SharpDevelop.sln /p:Configuration=Release "/p:Platform=Any CPU" %*
+"%PROGFILES%\MSBuild\14.0\Bin\msbuild" /m SharpDevelop.sln /p:Configuration=Release "/p:Platform=Any CPU" %*
 @IF %ERRORLEVEL% NEQ 0 GOTO err
 @exit /B 0
 :err
diff --git a/src/Main/Base/Project/Project/PortableLibrary/PortableTargetFramework.cs b/src/Main/Base/Project/Project/PortableLibrary/PortableTargetFramework.cs
index e2e1bedb54..231c741f10 100644
--- a/src/Main/Base/Project/Project/PortableLibrary/PortableTargetFramework.cs
+++ b/src/Main/Base/Project/Project/PortableLibrary/PortableTargetFramework.cs
@@ -74,6 +74,8 @@ namespace ICSharpCode.SharpDevelop.Project.PortableLibrary
 				switch (targetFrameworkVersion) {
 					case "v4.0":
 						return Versions.V4_0;
+					case "v4.6":
+						return Versions.V4_6;
 					case "v4.5":
 					default:
 						return Versions.V4_5;
diff --git a/src/Main/Base/Project/Project/PortableLibrary/ProfileList.cs b/src/Main/Base/Project/Project/PortableLibrary/ProfileList.cs
index 9924bfc552..254fe116aa 100644
--- a/src/Main/Base/Project/Project/PortableLibrary/ProfileList.cs
+++ b/src/Main/Base/Project/Project/PortableLibrary/ProfileList.cs
@@ -52,6 +52,7 @@ namespace ICSharpCode.SharpDevelop.Project.PortableLibrary
 			string path = GetPortableLibraryPath();
 			result.LoadProfiles("v4.0", Path.Combine(path, @"v4.0\Profile"));
 			result.LoadProfiles("v4.5", Path.Combine(path, @"v4.5\Profile"));
+			result.LoadProfiles("v4.6", Path.Combine(path, @"v4.6\Profile"));
 			return result;
 		}
 		
diff --git a/src/Main/Base/Project/Project/TargetFrameworks/TargetFramework.cs b/src/Main/Base/Project/Project/TargetFrameworks/TargetFramework.cs
index 33db017853..0884823998 100644
--- a/src/Main/Base/Project/Project/TargetFrameworks/TargetFramework.cs
+++ b/src/Main/Base/Project/Project/TargetFrameworks/TargetFramework.cs
@@ -1,4 +1,4 @@
-// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
+// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
 // 
 // Permission is hereby granted, free of charge, to any person obtaining a copy of this
 // software and associated documentation files (the "Software"), to deal in the Software
@@ -35,6 +35,7 @@ namespace ICSharpCode.SharpDevelop.Project
 		public static readonly TargetFramework Net35Client = new DotNet35Client();
 		public static readonly TargetFramework Net40 = new DotNet4x(Versions.V4_0, RedistLists.Net40, DotnetDetection.IsDotnet40Installed);
 		public static readonly TargetFramework Net40Client = new DotNet4xClient(Versions.V4_0, RedistLists.Net40Client, DotnetDetection.IsDotnet40Installed);
+		public static readonly TargetFramework Net46 = new DotNet4x(Versions.V4_6, RedistLists.Net45, DotnetDetection.IsDotnet45Installed);
 		public static readonly TargetFramework Net45 = new DotNet4x(Versions.V4_5, RedistLists.Net45, DotnetDetection.IsDotnet45Installed);
 		public static readonly TargetFramework Net451 = new DotNet4x(Versions.V4_5_1, RedistLists.Net45, DotnetDetection.IsDotnet451Installed);
 		public static readonly TargetFramework Net452 = new DotNet4x(Versions.V4_5_2, RedistLists.Net45, DotnetDetection.IsDotnet452Installed);
diff --git a/src/Main/Base/Project/Util/Versions.cs b/src/Main/Base/Project/Util/Versions.cs
index e0a751b365..a0d6b6e51a 100644
--- a/src/Main/Base/Project/Util/Versions.cs
+++ b/src/Main/Base/Project/Util/Versions.cs
@@ -29,6 +29,7 @@ namespace ICSharpCode.SharpDevelop
 		public static readonly Version V3_0 = new Version(3, 0);
 		public static readonly Version V3_5 = new Version(3, 5);
 		public static readonly Version V4_0 = new Version(4, 0);
+		public static readonly Version V4_6 = new Version(4, 6);
 		public static readonly Version V4_5 = new Version(4, 5);
 		public static readonly Version V4_5_1 = new Version(4, 5, 1);
 		public static readonly Version V4_5_2 = new Version(4, 5, 2);
diff --git a/src/Main/SharpDevelop/Parser/AssemblyParserService.cs b/src/Main/SharpDevelop/Parser/AssemblyParserService.cs
index 1b2959abb5..8e3b805189 100644
--- a/src/Main/SharpDevelop/Parser/AssemblyParserService.cs
+++ b/src/Main/SharpDevelop/Parser/AssemblyParserService.cs
@@ -235,7 +235,8 @@ namespace ICSharpCode.SharpDevelop.Parser
 					break;
 				case TargetRuntime.Net_4_0:
 				default:
-					xmlFileName = LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.2", name)) 
+					xmlFileName = LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.6", name))
+                                                ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.2", name))
 						?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.1", name))
 						?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5", name))
 						?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.0", name))