diff --git a/Make.config b/Make.config
index ed86319ef4d1..87ef50ee9c22 100644
--- a/Make.config
+++ b/Make.config
@@ -69,9 +69,9 @@ include $(TOP)/mk/mono.mk
MONO_HASH := $(NEEDED_MONO_VERSION)
# Minimum Mono version for building XI/XM
-MIN_MONO_VERSION=6.10.0.1
-MAX_MONO_VERSION=6.10.99
-MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2019-12/3/7eb7a82f09094facd8772dcb745fd16c7bd401c1/MonoFramework-MDK-6.10.0.1.macos10.xamarin.universal.pkg
+MIN_MONO_VERSION=6.12.0.39
+MAX_MONO_VERSION=6.12.99
+MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2020-02/41/338349925cd380cad2d19c6c15184cf22cf14800/MonoFramework-MDK-6.12.0.39.macos10.xamarin.universal.pkg
# Minimum Mono version for Xamarin.Mac apps using the system mono
MIN_XM_MONO_VERSION=6.4.0.94
@@ -281,8 +281,8 @@ SYSTEM_CSC=$(MONO_PREFIX)/bin/csc
SYSTEM_SN=$(MONO_PREFIX)/bin/sn
SYSTEM_MONO=$(MONO_PREFIX)/bin/mono
SYSTEM_MONO32=$(MONO_PREFIX)/bin/mono32
-SYSTEM_XBUILD=$(MONO_PREFIX)/bin/msbuild /p:Features=strict
-SYSTEM_MSBUILD=unset MSBuildExtensionsPath && $(MONO_PREFIX)/bin/msbuild /p:Features=strict
+SYSTEM_XBUILD=$(MONO_PREFIX)/bin/msbuild /p:Features=strict /m
+SYSTEM_MSBUILD=unset MSBuildExtensionsPath && $(MONO_PREFIX)/bin/msbuild /p:Features=strict /m
SYSTEM_RESGEN=$(MONO_PREFIX)/bin/resgen
XIBUILD_EXE_PATH=$(abspath $(TOP)/tools/xibuild/bin/Debug/xibuild.exe)
diff --git a/mk/mono.mk b/mk/mono.mk
index df140bd249aa..1e9c27c77cd2 100644
--- a/mk/mono.mk
+++ b/mk/mono.mk
@@ -1,5 +1,5 @@
-NEEDED_MONO_VERSION := 2ff898859b8b75f123a5c895959a7e82dc829ea5
-NEEDED_MONO_BRANCH := 2019-12
+NEEDED_MONO_VERSION := d90665a422e9f8d015585b3ca381d74faa033cc4
+NEEDED_MONO_BRANCH := 2020-02
MONO_DIRECTORY := mono
MONO_MODULE := https://github.com/mono/mono
diff --git a/tools/linker/MonoTouch.Tuner/ListExportedSymbols.cs b/tools/linker/MonoTouch.Tuner/ListExportedSymbols.cs
index ad93f186349c..36e3d63c81c0 100644
--- a/tools/linker/MonoTouch.Tuner/ListExportedSymbols.cs
+++ b/tools/linker/MonoTouch.Tuner/ListExportedSymbols.cs
@@ -125,8 +125,8 @@ void ProcessMethod (MethodDefinition method)
}
}
- if (MarkStep.IsPropertyMethod (method)) {
- var property = MarkStep.GetProperty (method);
+ if (method.IsPropertyMethod ()) {
+ var property = method.GetProperty ();
object symbol;
// The Field attribute may have been linked away, but we've stored it in an annotation.
if (property != null && Context.Annotations.GetCustomAnnotations ("ExportedFields").TryGetValue (property, out symbol)) {
diff --git a/tools/linker/MonoTouch.Tuner/MonoTouchMarkStep.cs b/tools/linker/MonoTouch.Tuner/MonoTouchMarkStep.cs
index c17c0d830b9d..1ecb1be97efe 100644
--- a/tools/linker/MonoTouch.Tuner/MonoTouchMarkStep.cs
+++ b/tools/linker/MonoTouch.Tuner/MonoTouchMarkStep.cs
@@ -189,7 +189,7 @@ void ProcessSystemCore (TypeDefinition type)
case "CallSite":
var cs_ops = type.Module.GetType ("System.Runtime.CompilerServices.CallSiteOps");
if (cs_ops != null)
- MarkMethods (ResolveTypeDefinition (cs_ops));
+ MarkMethods (cs_ops.Resolve ());
break;
case "CallSite`1":
@@ -197,7 +197,7 @@ void ProcessSystemCore (TypeDefinition type)
var ud = type.Module.GetType ("System.Dynamic.UpdateDelegates");
if (ud != null)
- MarkMethods (ResolveTypeDefinition (ud));
+ MarkMethods (ud.Resolve ());
break;
}
diff --git a/tools/mmp/mmp.csproj b/tools/mmp/mmp.csproj
index 3005a04867cf..cda7e92a7420 100644
--- a/tools/mmp/mmp.csproj
+++ b/tools/mmp/mmp.csproj
@@ -8,6 +8,7 @@
mmp
mmp
v4.6
+ 8.0
True
@@ -169,6 +170,18 @@
Linker\OutputException.cs
+
+ Linker\IReflectionPatternRecorder.cs
+
+
+ Linker\IDependencyRecorder.cs
+
+
+ Linker\XmlDependencyRecorder.cs
+
+
+ Linker\LoggingReflectionPatternRecorder.cs
+
Linker.Steps\BaseStep.cs
diff --git a/tools/mtouch/mtouch.csproj b/tools/mtouch/mtouch.csproj
index ba0c463452a8..e3e3c7670aa8 100644
--- a/tools/mtouch/mtouch.csproj
+++ b/tools/mtouch/mtouch.csproj
@@ -7,7 +7,8 @@
Exe
mtouch
mtouch
- v4.6
+ v4.8
+ 8.0
True
@@ -157,6 +158,18 @@
Linker\OutputException.cs
+
+ Linker\IReflectionPatternRecorder.cs
+
+
+ Linker\IDependencyRecorder.cs
+
+
+ Linker\XmlDependencyRecorder.cs
+
+
+ Linker\LoggingReflectionPatternRecorder.cs
+
Linker.Steps\BaseStep.cs