From e5d012c5b810cf40ffb2622f009eb72fdc1cb514 Mon Sep 17 00:00:00 2001 From: Chris Hamons Date: Mon, 14 Aug 2017 13:17:10 -0500 Subject: [PATCH] [macos] System mono should resolve non-XM libraries from system (#2480) - https://bugzilla.xamarin.com/show_bug.cgi?id=58703 - Was broken on msbuild but undetected due to https://bugzilla.xamarin.com/show_bug.cgi?id=53164 - Unified45Build_CompileToNativeOutput was broken in a recent commit bf53e6204d0950acd5f8efcce8732bd8d8 - This was not caught as the mmp tests are not run by default - The test was bad/wrong, and checking msbuild not mmp ouput anyway, so fixing. --- .../Xamarin.Mac.Common.targets | 40 +++++++++++++++++-- .../Xamarin.Mac.msbuild.targets | 16 ++++---- tests/mmptest/src/MMPTest.cs | 3 +- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets index cf3f174d56..4fbe5ae76a 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets @@ -64,16 +64,50 @@ Copyright (C) 2014 Xamarin. All rights reserved. /Library/Frameworks/Xamarin.Mac.framework/Versions/Current - + + + + Modern + $(XamarinMacFrameworkRoot)/lib/mono/Xamarin.Mac + + + + + Full + $(XamarinMacFrameworkRoot)/lib/mono/4.5 + + + + + System + $(XamarinMacFrameworkRoot)/lib/mono/4.5 + + + + + $(XamarinMacFrameworkRoot)/lib/reference/full;$(XamarinMacFrameworkRoot)/lib/mono;$(AssemblySearchPaths) - - + + $([System.String]::Copy('$(AssemblySearchPaths)').Replace('{GAC}','')) $(AssemblySearchPaths.Split(';')) + + + + + $(MacBclPath);@(DesignTimeFacadeDirectories) + + + + + $(TargetFrameworkDirectory);$(MacBclPath) + + + <_CanOutputAppBundle>False <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true'">true diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.msbuild.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.msbuild.targets index a65dc1c1b4..748e3d8c0b 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.msbuild.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.msbuild.targets @@ -16,21 +16,19 @@ Copyright (c) 2017 Microsoft Corp. (www.microsoft.com) + + - $(XamarinMacFrameworkRoot)/lib/mono/4.5 - $(XamarinMacFrameworkRoot)/lib/mono/Xamarin.Mac - $(MacBclPath) + $(MacBclPath) - - + + + - - $(MacBclPath);@(DesignTimeFacadeDirectories) - - + diff --git a/tests/mmptest/src/MMPTest.cs b/tests/mmptest/src/MMPTest.cs index 3872f1eb8f..cf1f800976 100644 --- a/tests/mmptest/src/MMPTest.cs +++ b/tests/mmptest/src/MMPTest.cs @@ -641,8 +641,7 @@ namespace Xamarin.MMP.Tests RunMMPTest (tmpDir => { TI.UnifiedTestConfig test = new TI.UnifiedTestConfig (tmpDir) { XM45 = true }; var output = TI.TestUnifiedExecutable (test); - Assert.That (output.BuildOutput, Contains.Substring ("TargetFrameworkIdentifier: .NETFramework")); - Assert.That (output.BuildOutput, Contains.Substring ("TargetFrameworkVersion: v4.5")); + Assert.That (output.BuildOutput, Contains.Substring ("Selected target framework: .NETFramework,Version=v4.5; API: Unified")); }); }