diff --git a/README.md b/README.md
index 82ab3df9c87..954a6f3fb09 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# #develop (short for SharpDevelop)
-##Overview
+## Overview
#develop is a free Integrated Development Environment
(IDE) for C#, VB.NET, Boo, IronPython, IronRuby and F# projects on Microsoft's
@@ -9,22 +9,19 @@ you would expect in an IDE plus a few more.
The #develop project started on September 11th, 2000. The project was initiated
by Mike Krüger. In the course of the project, several contributors joined in.
-If you want to contribute see ["Joining the team"](https://github.com/icsharpcode/SharpDevelop/wiki/Joining-the-Team).
-1. [Official Website](http://www.icsharpcode.net/OpenSource/SD/Default.aspx)
-2. [Forums](http://community.sharpdevelop.net/forums/)
-3. [Build Artefacts (Nightly Builds)](http://build.sharpdevelop.net/BuildArtefacts)
+Looking for the tech notes (Fine Art of Commenting, Coding Style Guide, and more)? These can be found as rtf files in [doc/technotes](https://github.com/icsharpcode/SharpDevelop/tree/master/doc/technotes)
-##How To Compile
+## How To Compile
#Develop can be compiled using the supplied .bat files, or in #Develop itself.
-##System Requirements (running #Develop)
+## System Requirements (running #Develop)
- Windows Vista or higher.
- [.NET 4.5](http://www.microsoft.com/en-au/download/details.aspx?id=30653)
- [Visual C++ 2008 SP1 Runtime](http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en)
-##Extended Requirements (building #Develop)
+## Extended Requirements (building #Develop)
- [Microsoft Build Tools 2013](http://www.microsoft.com/en-us/download/details.aspx?id=40760)
- [.NET 3.5 SP1](http://www.microsoft.com/en-au/download/details.aspx?id=22)
@@ -34,7 +31,7 @@ If you want to contribute see ["Joining the team"](https://github.com/icsharpcod
- [Windows PowerShell](http://www.microsoft.com/en-us/download/details.aspx?id=34595)
- If you have cloned the SD git repository: git must be available on your PATH
-##Libraries and Integrated tools:
+## Libraries and Integrated tools:
* [Avalon Dock](http://avalondock.codeplex.com/) : New BSD License (BSD) (thanks to **Adolfo Marinucci**)
* [Graph#](https://graphsharp.codeplex.com/)
@@ -48,7 +45,7 @@ If you want to contribute see ["Joining the team"](https://github.com/icsharpcod
* [SQLite](https://sqlite.org/)
* [WPFToolkit](https://wpf.codeplex.com/)
-##Integrated Tools (packaged with #Develop):
+## Integrated Tools (packaged with #Develop):
* [IronPython](http://ironpython.net/)
* [IronRuby](https://ironruby.codeplex.com/)
@@ -57,7 +54,7 @@ If you want to contribute see ["Joining the team"](https://github.com/icsharpcod
* [OpenCover](https://github.com/OpenCover/opencover)
* [WiX](https://wix.codeplex.com/)
-##Reusable Libraries (Part of #Develop):
+## Reusable Libraries (Part of #Develop):
* [AvalonEdit](http://avalonedit.net/)
* [Debugger.Core](https://github.com/icsharpcode/SharpDevelop/tree/master/src/AddIns/Debugger/Debugger.Core)
@@ -69,7 +66,7 @@ If you want to contribute see ["Joining the team"](https://github.com/icsharpcod
## #Develop Contributors
-###Developers
+### Developers
* [Mike Krüger](https://github.com/mkrueger) (Project Founder)
* [Daniel Grunwald](https://github.com/dgrunwald) (Technical Lead)
@@ -79,12 +76,12 @@ If you want to contribute see ["Joining the team"](https://github.com/icsharpcod
* [Siegfried Pammer](https://github.com/siegfriedpammer)
* [Peter Forstmeier]( https://github.com/PeterForstmeier)(#Develop Reports)
-###Non-Developers
+### Non-Developers
* Christoph Wille (PM)
* Bernhard Spuida (Kalfaktor)
-###Past Developers (Non-Exhaustive List)
+### Past Developers (Non-Exhaustive List)
* [Mike Krüger](https://github.com/mkrueger) (Project Founder)
* Alexandre Semenov
@@ -117,4 +114,4 @@ If you want to contribute see ["Joining the team"](https://github.com/icsharpcod
* Tomasz Tretkowski
* Troy Simpson
-######Copyright 2014 AlphaSierraPapa for the SharpDevelop team. SharpDevelop is distributed under the MIT license.
+###### Copyright 2014 AlphaSierraPapa for the SharpDevelop team. SharpDevelop is distributed under the MIT license.
diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln
index 7437dbc313e..97f1716a68d 100644
--- a/SharpDevelop.Tests.sln
+++ b/SharpDevelop.Tests.sln
@@ -28,6 +28,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDevelop", "src\Main\Sh
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker120", "src\Main\ICSharpCode.SharpDevelop.BuildWorker120\ICSharpCode.SharpDevelop.BuildWorker120.csproj", "{6F273DA5-E10C-45A6-9071-7313ECD98C90}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker140", "src\Main\ICSharpCode.SharpDevelop.BuildWorker140\ICSharpCode.SharpDevelop.BuildWorker140.csproj", "{7BA66A6B-1ED8-4B4C-970C-8928E891418B}"
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{2A232EF1-EB95-41C6-B63A-C106E0C95D3C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"
@@ -290,6 +292,10 @@ Global
{6F273DA5-E10C-45A6-9071-7313ECD98C90}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6F273DA5-E10C-45A6-9071-7313ECD98C90}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F273DA5-E10C-45A6-9071-7313ECD98C90}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Release|Any CPU.Build.0 = Release|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
@@ -666,6 +672,7 @@ Global
{8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
{6F273DA5-E10C-45A6-9071-7313ECD98C90} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
{D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C}
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C}
{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C}
diff --git a/SharpDevelop.sln b/SharpDevelop.sln
index 4442f371222..1de7a8d728d 100644
--- a/SharpDevelop.sln
+++ b/SharpDevelop.sln
@@ -24,6 +24,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDevelop", "src\Main\Sh
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker120", "src\Main\ICSharpCode.SharpDevelop.BuildWorker120\ICSharpCode.SharpDevelop.BuildWorker120.csproj", "{6F273DA5-E10C-45A6-9071-7313ECD98C90}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker140", "src\Main\ICSharpCode.SharpDevelop.BuildWorker140\ICSharpCode.SharpDevelop.BuildWorker140.csproj", "{7BA66A6B-1ED8-4B4C-970C-8928E891418B}"
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{2A232EF1-EB95-41C6-B63A-C106E0C95D3C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"
@@ -237,6 +239,10 @@ Global
{6F273DA5-E10C-45A6-9071-7313ECD98C90}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6F273DA5-E10C-45A6-9071-7313ECD98C90}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F273DA5-E10C-45A6-9071-7313ECD98C90}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}.Release|Any CPU.Build.0 = Release|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
@@ -527,6 +533,7 @@ Global
{8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
{6F273DA5-E10C-45A6-9071-7313ECD98C90} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01}
{D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C}
{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C}
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}
diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/CSharp-Semantic.xshd b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/CSharp-Semantic.xshd
index 3e1bba50c70..7845675c99c 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/CSharp-Semantic.xshd
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/CSharp-Semantic.xshd
@@ -7,6 +7,7 @@
+
@@ -122,6 +123,18 @@
+
+ \$"
+ "
+
+
+
+
+
+
+
+
+
@[\w\d_]+
diff --git a/src/AddIns/BackendBindings/TypeScript/Project/Src/TypeScriptProject.cs b/src/AddIns/BackendBindings/TypeScript/Project/Src/TypeScriptProject.cs
index 6988921370c..c36bbc41d3b 100644
--- a/src/AddIns/BackendBindings/TypeScript/Project/Src/TypeScriptProject.cs
+++ b/src/AddIns/BackendBindings/TypeScript/Project/Src/TypeScriptProject.cs
@@ -85,9 +85,16 @@ public IEnumerable GetTypeScriptFileNames()
return project
.Items
.Where(item => TypeScriptParser.IsTypeScriptFileName(item.FileName))
+ .Where(IsSupportedProjectItemType)
.Select(item => item.FileName);
}
+ bool IsSupportedProjectItemType(ProjectItem item)
+ {
+ return item.ItemType == ItemType.None ||
+ item.ItemType.ItemName == "TypeScriptCompile";
+ }
+
bool HasMSBuildProject {
get { return msbuildProject != null; }
}
diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageAction.cs
index 1dad24b1f71..a94979e3962 100644
--- a/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageAction.cs
+++ b/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageAction.cs
@@ -45,7 +45,12 @@ public ProcessPackageAction(
public bool AllowPrereleaseVersions { get; set; }
public FrameworkName ProjectTargetFramework {
- get { return Project.TargetFramework; }
+ get {
+ if (Project != null) {
+ return Project.TargetFramework;
+ }
+ return null;
+ }
}
public virtual bool HasPackageScriptsToRun()
diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/MSBuildProjectPropertiesMerger.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/MSBuildProjectPropertiesMerger.cs
index 07cba71416c..e970e6adeb8 100644
--- a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/MSBuildProjectPropertiesMerger.cs
+++ b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/MSBuildProjectPropertiesMerger.cs
@@ -93,7 +93,7 @@ void AddPropertyToSharpDevelopProject(ProjectPropertyElement msbuildProjectPrope
void SetPropertyInSharpDevelopProject(ProjectPropertyElement msbuildProjectProperty)
{
- sharpDevelopProject.SetProperty(msbuildProjectProperty.Name, msbuildProjectProperty.Value);
+ sharpDevelopProject.SetProperty(msbuildProjectProperty.Name, msbuildProjectProperty.Value, treatPropertyValueAsLiteral: false);
}
bool HasMSBuildProjectPropertyBeenUpdated(ProjectPropertyElement msbuildProjectProperty, ProjectPropertyElement sharpDevelopProjectProperty)
diff --git a/src/AddIns/Misc/PackageManagement/RequiredLibraries/Microsoft.Web.XmlTransform.dll b/src/AddIns/Misc/PackageManagement/RequiredLibraries/Microsoft.Web.XmlTransform.dll
index d6fb3c1bf38..c94ef79caad 100644
Binary files a/src/AddIns/Misc/PackageManagement/RequiredLibraries/Microsoft.Web.XmlTransform.dll and b/src/AddIns/Misc/PackageManagement/RequiredLibraries/Microsoft.Web.XmlTransform.dll differ
diff --git a/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Console.Types.dll b/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Console.Types.dll
index 7cdc512dc5f..f3d952792b8 100644
Binary files a/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Console.Types.dll and b/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Console.Types.dll differ
diff --git a/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll b/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll
index da3a305ee17..b8649b3e7fe 100644
Binary files a/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll and b/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll differ
diff --git a/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.exe b/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.exe
index 324daa842c5..25e84bd78c0 100644
Binary files a/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.exe and b/src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.exe differ
diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/ProcessPackageActionTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/ProcessPackageActionTests.cs
index ffef5bc7b72..dde48600244 100644
--- a/src/AddIns/Misc/PackageManagement/Test/Src/ProcessPackageActionTests.cs
+++ b/src/AddIns/Misc/PackageManagement/Test/Src/ProcessPackageActionTests.cs
@@ -183,5 +183,15 @@ public void ProjectTargetFramework_ProjectTargetFrameworkIsNet40_ReturnsNet40()
Assert.AreEqual(expectedTargetFramework, targetFramework);
}
+
+ [Test]
+ public void ProjectTargetFramework_NullProject_ReturnsNull()
+ {
+ var installAction = new InstallPackageAction(null, new FakePackageManagementEvents());
+
+ FrameworkName targetFramework = installAction.ProjectTargetFramework;
+
+ Assert.IsNull(targetFramework);
+ }
}
}
diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/MSBuildProjectPropertiesMergerTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/MSBuildProjectPropertiesMergerTests.cs
index 39899860812..f9fe8ba509d 100644
--- a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/MSBuildProjectPropertiesMergerTests.cs
+++ b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/MSBuildProjectPropertiesMergerTests.cs
@@ -260,5 +260,17 @@ public void Merge_OutputPathPropertyInDebugAndReleaseConfigurations_SharpDevelop
Assert.IsFalse(propertiesMerger.Result.AnyPropertiesChanged());
}
+
+ [Test]
+ public void Merge_MSBuildProjectHasNewPropertyAddedWithEncodableCharacters_PropertyAddedToSharpDevelopProjectWithoutEncodingCharacters()
+ {
+ var propertyGroup = msbuildProject.Xml.AddPropertyGroup();
+ propertyGroup.SetProperty("Test", "$(Value)");
+
+ Merge();
+
+ string value = sharpDevelopProject.GetUnevalatedProperty("Test");
+ Assert.AreEqual("$(Value)", value);
+ }
}
}
diff --git a/src/Libraries/AvalonEdit b/src/Libraries/AvalonEdit
index 19611add5ac..697ff0d38c9 160000
--- a/src/Libraries/AvalonEdit
+++ b/src/Libraries/AvalonEdit
@@ -1 +1 @@
-Subproject commit 19611add5ac9fea77a41a145fc85211c6c32f921
+Subproject commit 697ff0d38c95c9e5a536fbc05ae2307ec9ef2a63
diff --git a/src/Main/Base/Project/Util/DotnetDetection.cs b/src/Main/Base/Project/Util/DotnetDetection.cs
index a6ae7a59e65..191c1ecb2d6 100644
--- a/src/Main/Base/Project/Util/DotnetDetection.cs
+++ b/src/Main/Base/Project/Util/DotnetDetection.cs
@@ -95,5 +95,16 @@ public static bool IsBuildTools2013Installed()
return key != null && key.GetValue("Install") as int? >= 1;
}
}
+
+ ///
+ /// Gets whether the Microsoft Build Tools 2015 (MSBuild 14.0) is installed.
+ ///
+ public static bool IsBuildTools2015Installed()
+ {
+ // HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\BuildTools\Servicing\14.0
+ using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\DevDiv\BuildTools\Servicing\14.0\MSBuild")) {
+ return key != null && key.GetValue("Install") as int? >= 1;
+ }
+ }
}
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/Configuration/AssemblyInfo.cs b/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/Configuration/AssemblyInfo.cs
new file mode 100644
index 00000000000..8787efdda9a
--- /dev/null
+++ b/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/Configuration/AssemblyInfo.cs
@@ -0,0 +1,27 @@
+// 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
+// without restriction, including without limitation the rights to use, copy, modify, merge,
+// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in all copies or
+// substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+
+using System;
+using System.Reflection;
+
+[assembly: AssemblyTitle("SharpDevelop Build Worker for MSBuild 14.0")]
+[assembly: AssemblyDescription("Runs MSBuild 14.0")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: CLSCompliant(true)]
diff --git a/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/ICSharpCode.SharpDevelop.BuildWorker140.csproj b/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/ICSharpCode.SharpDevelop.BuildWorker140.csproj
new file mode 100644
index 00000000000..25d5ca2be7f
--- /dev/null
+++ b/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/ICSharpCode.SharpDevelop.BuildWorker140.csproj
@@ -0,0 +1,99 @@
+
+
+
+ {7BA66A6B-1ED8-4B4C-970C-8928E891418B}
+ Debug
+ AnyCPU
+ Exe
+ ICSharpCode.SharpDevelop.BuildWorker
+ ICSharpCode.SharpDevelop.BuildWorker140
+ v4.5.1
+ False
+ False
+ 4
+ False
+ ..\..\..\bin\
+ True
+ ..\ICSharpCode.SharpDevelop.snk
+ False
+ File
+ False
+ -Microsoft.Globalization#CA1303
+
+
+ False
+ obj\$(Configuration)\
+
+
+ true
+ Full
+ False
+ True
+ DEBUG;TRACE
+ obj\
+
+
+ False
+ None
+ True
+ False
+ TRACE
+
+
+ False
+ Off
+ 4194304
+ AnyCPU
+ 4096
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+ Configuration\GlobalAssemblyInfo.cs
+
+
+ BuildJob.cs
+
+
+ EventSource.cs
+
+
+ EventTypes.cs
+
+
+ ExtendedBinaryReader.cs
+
+
+ HostProcess.cs
+
+
+ MSBuild40.cs
+
+
+ Program.cs
+
+
+
+
+
+ {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}
+ ICSharpCode.Core
+ false
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/app.config b/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/app.config
new file mode 100644
index 00000000000..155efda1cf0
--- /dev/null
+++ b/src/Main/ICSharpCode.SharpDevelop.BuildWorker140/app.config
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Main/SharpDevelop/Project/Build/MSBuildEngine/BuildWorkerManager.cs b/src/Main/SharpDevelop/Project/Build/MSBuildEngine/BuildWorkerManager.cs
index 1fd518f4bd0..8ec05b604e0 100644
--- a/src/Main/SharpDevelop/Project/Build/MSBuildEngine/BuildWorkerManager.cs
+++ b/src/Main/SharpDevelop/Project/Build/MSBuildEngine/BuildWorkerManager.cs
@@ -34,6 +34,7 @@ sealed class BuildWorkerManager
readonly List freeWorkers = new List();
readonly string workerProcessName;
+ public static readonly BuildWorkerManager MSBuild140 = new BuildWorkerManager("ICSharpCode.SharpDevelop.BuildWorker140.exe");
public static readonly BuildWorkerManager MSBuild120 = new BuildWorkerManager("ICSharpCode.SharpDevelop.BuildWorker120.exe");
public static readonly BuildWorkerManager MSBuild40 = new BuildWorkerManager("ICSharpCode.SharpDevelop.BuildWorker40.exe");
public static readonly BuildWorkerManager MSBuild35 = new BuildWorkerManager("ICSharpCode.SharpDevelop.BuildWorker35.exe");
diff --git a/src/Main/SharpDevelop/Project/Build/MSBuildEngine/MSBuildEngineWorker.cs b/src/Main/SharpDevelop/Project/Build/MSBuildEngine/MSBuildEngineWorker.cs
index 15a9ef4793f..0b7a983c1e2 100644
--- a/src/Main/SharpDevelop/Project/Build/MSBuildEngine/MSBuildEngineWorker.cs
+++ b/src/Main/SharpDevelop/Project/Build/MSBuildEngine/MSBuildEngineWorker.cs
@@ -160,7 +160,9 @@ internal Task RunBuildAsync(CancellationToken cancellationToken)
tcs.SetResult(false);
}
} else {
- if (DotnetDetection.IsBuildTools2013Installed()) {
+ if (DotnetDetection.IsBuildTools2015Installed()) {
+ BuildWorkerManager.MSBuild140.RunBuildJob(job, loggerChain, OnDone, cancellationToken);
+ } else if (DotnetDetection.IsBuildTools2013Installed()) {
BuildWorkerManager.MSBuild120.RunBuildJob(job, loggerChain, OnDone, cancellationToken);
} else {
BuildWorkerManager.MSBuild40.RunBuildJob(job, loggerChain, OnDone, cancellationToken);
diff --git a/src/Setup/Files.wxs b/src/Setup/Files.wxs
index f1bd974e822..6517cf01ad6 100644
--- a/src/Setup/Files.wxs
+++ b/src/Setup/Files.wxs
@@ -318,6 +318,12 @@
+
+
+
+
+
+
diff --git a/src/Setup/Setup.wxs b/src/Setup/Setup.wxs
index ecccbd6bf98..6798612afe1 100644
--- a/src/Setup/Setup.wxs
+++ b/src/Setup/Setup.wxs
@@ -196,6 +196,7 @@
+