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:
authorAnkit Jain <radical@gmail.com>2019-04-03 17:12:53 +0300
committerRodrigo Moya <rodrigo.moya@xamarin.com>2019-04-05 20:46:17 +0300
commitc5ed62a81b859bee512ade901bd8fa130141ac27 (patch)
treec12fb3eb589976dd5345022ea796eefcc6b38693 /main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs
parentd48091aec7f2113fb2811da21c9302f9c1ff8539 (diff)
[msbuild] Fix possible NRE
- and save only at the end.
Diffstat (limited to 'main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs')
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs
index 5e18e203db..0d012cc043 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs
@@ -561,7 +561,7 @@ namespace MonoDevelop.Projects.MSBuild
ConfigFileUtilities.SetOrAppendSubelementAttributeValue (runtimeElement, "AppContextSwitchOverrides", "value", "Switch.System.IO.UseLegacyPathHandling=false");
}
- foreach (var toolset in doc.Root.Elements ("msbuildToolsets").FirstOrDefault ()?.Elements ("toolset")) {
+ foreach (var toolset in doc.Root.Elements ("msbuildToolsets").FirstOrDefault ()?.Elements ("toolset") ?? Enumerable.Empty<XElement> ()) {
// This is required for MSBuild to properly load the searchPaths element (@radical knows why)
SetMSBuildConfigProperty (toolset, "MSBuildBinPath", binDir, append: false, insertBefore: true);
@@ -595,7 +595,7 @@ namespace MonoDevelop.Projects.MSBuild
SetMSBuildConfigProperty (toolset, path.Property, path.Path);
}
- var projectImportSearchPaths = doc.Root.Elements ("msbuildToolsets").FirstOrDefault ()?.Elements ("toolset")?.FirstOrDefault ()?.Element ("projectImportSearchPaths");
+ var projectImportSearchPaths = toolset.Element ("projectImportSearchPaths");
if (projectImportSearchPaths != null) {
var os = Platform.IsMac ? "osx" : Platform.IsWindows ? "windows" : "unix";
XElement searchPaths = projectImportSearchPaths.Elements ("searchPaths").FirstOrDefault (sp => sp.Attribute ("os")?.Value == os);
@@ -607,9 +607,10 @@ namespace MonoDevelop.Projects.MSBuild
foreach (var path in MSBuildProjectService.GetProjectImportSearchPaths (runtime, false))
SetMSBuildConfigProperty (searchPaths, path.Property, path.Path, append: true, insertBefore: false);
}
- doc.Save (destinationConfigFile);
}
+ doc.Save (destinationConfigFile);
+
// Update the sdk list for the MD resolver
SdkInfo.SaveConfig (mdResolverConfig, MSBuildProjectService.FindRegisteredSdks ());
}