diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild')
5 files changed, 14 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildFileFormat.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildFileFormat.cs index 05314dfdb7..814935bdbb 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildFileFormat.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildFileFormat.cs @@ -347,7 +347,7 @@ namespace MonoDevelop.Projects.Formats.MSBuild protected override bool SupportsToolsVersion (string version) { - return version == "4.0" || version == "12.0"; + return version == "4.0" || version == "12.0" || version == "14.0"; } } } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs index 8f1a2ac0de..fe62395a0d 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs @@ -119,6 +119,7 @@ namespace MonoDevelop.Projects.Formats.MSBuild return SolutionFormat; return new MSBuildFileFormatVS12 (); case "12.0": + case "14.0": return new MSBuildFileFormatVS12 (); default: throw new Exception ("Unknown ToolsVersion '" + ToolsVersion + "'"); @@ -312,7 +313,7 @@ namespace MonoDevelop.Projects.Formats.MSBuild newContext = new TargetEvaluationContext (newContext); var res = RunTarget (monitor, target, configuration, (TargetEvaluationContext) newContext); CallContext.SetData ("MonoDevelop.Projects.TargetEvaluationResult", res); - return res.BuildResult; + return res != null ? res.BuildResult : null; } finally { if (newContext != currentContext) CallContext.SetData ("MonoDevelop.Projects.ProjectOperationContext", currentContext); diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs index 51013f182a..c8efc96d0c 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs @@ -504,12 +504,16 @@ namespace MonoDevelop.Projects.Formats.MSBuild internal static RemoteProjectBuilder GetProjectBuilder (TargetRuntime runtime, string minToolsVersion, string file, string solutionFile) { lock (builders) { - //attempt to use 12.0 builder first if available - string toolsVersion = "12.0"; - string binDir = runtime.GetMSBuildBinPath ("12.0"); + //attempt to use 14.0 builder first if available + string toolsVersion = "14.0"; + string binDir = runtime.GetMSBuildBinPath ("14.0"); if (binDir == null) { - //fall back to 4.0, we know it's always available - toolsVersion = "4.0"; + toolsVersion = "12.0"; + binDir = runtime.GetMSBuildBinPath ("12.0"); + if (binDir == null) { + //fall back to 4.0, we know it's always available + toolsVersion = "4.0"; + } } //check the ToolsVersion we found can handle the project diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/RemoteProjectBuilder.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/RemoteProjectBuilder.cs index ab59a88e1d..57f2e797e5 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/RemoteProjectBuilder.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/RemoteProjectBuilder.cs @@ -159,7 +159,7 @@ namespace MonoDevelop.Projects.Formats.MSBuild void CheckDisconnected () { - if (engine.CheckDisconnected ()) { + if (engine != null && engine.CheckDisconnected ()) { if (Disconnected != null) Disconnected (this, EventArgs.Empty); } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs index b1aacadd0e..0ebb7f4c4a 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs @@ -80,7 +80,7 @@ namespace MonoDevelop.Projects.Formats.MSBuild monitor.BeginTask (GettextCatalog.GetString ("Saving solution: {0}", file), 1); try { if (File.Exists (file)) - tmpfilename = Path.GetTempFileName (); + tmpfilename = Path.GetDirectoryName (file) + Path.DirectorySeparatorChar + ".#" + Path.GetFileName (file); } catch (IOException) { } |