diff options
author | Ankit Jain <radical@gmail.com> | 2019-04-03 13:49:52 +0300 |
---|---|---|
committer | Rodrigo Moya <rodrigo.moya@xamarin.com> | 2019-04-05 20:46:17 +0300 |
commit | d48091aec7f2113fb2811da21c9302f9c1ff8539 (patch) | |
tree | 4e1ba0644ddc9d5b6b5697587040fd5e5260d2c0 | |
parent | 75512ea5578cd73ccef354cb35a9c85d44e74c0b (diff) |
[msbuild] Update to work with ToolsVersion=`Current`
- the recent msbuild update changed the toolsVersion from `15.0` to
`Current`.
- we add a second toolset `Current` to the app.config for the remote
builder.
- VSMac still tries to pick `15.0`
- with older mono, msbuild will use the 15.0 toolset
- with newer mono, vsmac asks for 15.0 but msbuild picks
`current` instead.
- VSMac needs to pick `Current` for newer mono, which will be fixed in a
follow up PR.
-rw-r--r-- | main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs | 5 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Projects.Formats.MSBuild/app.config | 16 |
2 files changed, 18 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 d9d2e29b79..5e18e203db 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs @@ -561,8 +561,7 @@ namespace MonoDevelop.Projects.MSBuild ConfigFileUtilities.SetOrAppendSubelementAttributeValue (runtimeElement, "AppContextSwitchOverrides", "value", "Switch.System.IO.UseLegacyPathHandling=false"); } - var toolset = doc.Root.Elements ("msbuildToolsets").FirstOrDefault ()?.Elements ("toolset")?.FirstOrDefault (); - if (toolset != null) { + foreach (var toolset in doc.Root.Elements ("msbuildToolsets").FirstOrDefault ()?.Elements ("toolset")) { // This is required for MSBuild to properly load the searchPaths element (@radical knows why) SetMSBuildConfigProperty (toolset, "MSBuildBinPath", binDir, append: false, insertBefore: true); @@ -728,4 +727,4 @@ namespace MonoDevelop.Projects.MSBuild return Task.CompletedTask; } } -}
\ No newline at end of file +} diff --git a/main/src/core/MonoDevelop.Projects.Formats.MSBuild/app.config b/main/src/core/MonoDevelop.Projects.Formats.MSBuild/app.config index 71ab6f0220..98fcdc78cc 100644 --- a/main/src/core/MonoDevelop.Projects.Formats.MSBuild/app.config +++ b/main/src/core/MonoDevelop.Projects.Formats.MSBuild/app.config @@ -47,6 +47,22 @@ </searchPaths> </projectImportSearchPaths> </toolset> + <toolset toolsVersion="Current"> + <property name="MSBuildRuntimeVersion" value="4.0.30319" /> + <property name="MSBuildToolsPath" value="$(MSBuildBinPath)" /> + <property name="MSBuildToolsPath32" value="$(MSBuildBinPath)" /> + <property name="MSBuildToolsPath64" value="$(MSBuildBinPath)" /> + <property name="RoslynTargetsPath" value="$(MSBuildToolsPath)\Roslyn" /> + <property name="TargetFrameworkRootPathSearchPathsOSX" value="/Library/Frameworks/Mono.framework/External/xbuild-frameworks/" /> + <property name="VisualStudioVersion" value="16.0" /> + <projectImportSearchPaths> + <searchPaths os="osx"> + <property name="MSBuildExtensionsPath" value="/Library/Frameworks/Mono.framework/External/xbuild/"/> + <property name="MSBuildExtensionsPath32" value="/Library/Frameworks/Mono.framework/External/xbuild/"/> + <property name="MSBuildExtensionsPath64" value="/Library/Frameworks/Mono.framework/External/xbuild/"/> + </searchPaths> + </projectImportSearchPaths> + </toolset> </msbuildToolsets> </configuration> |