diff --git a/Xamarin.Android.sln b/Xamarin.Android.sln
index de4d20d7a6f..6b3c16e7815 100644
--- a/Xamarin.Android.sln
+++ b/Xamarin.Android.sln
@@ -81,8 +81,6 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AnyCPU = Debug|AnyCPU
Release|AnyCPU = Release|AnyCPU
- XAIntegrationDebug|Any CPU = XAIntegrationDebug|Any CPU
- XAIntegrationRelease|Any CPU = XAIntegrationRelease|Any CPU
XAIntegrationDebug|AnyCPU = XAIntegrationDebug|AnyCPU
XAIntegrationRelease|AnyCPU = XAIntegrationRelease|AnyCPU
EndGlobalSection
diff --git a/src/Mono.Android.Export/Mono.Android.Export.csproj b/src/Mono.Android.Export/Mono.Android.Export.csproj
index c02368d4c27..3d34a232afd 100644
--- a/src/Mono.Android.Export/Mono.Android.Export.csproj
+++ b/src/Mono.Android.Export/Mono.Android.Export.csproj
@@ -36,15 +36,15 @@
$(OutputPath)..\v1.0\mscorlib.dll
False
-
+
$(OutputPath)..\v1.0\System.dll
False
-
+
$(OutputPath)..\v1.0\System.Core.dll
False
-
+
$(OutputPath)..\v1.0\System.Xml.dll
False
diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj
index 450fd1befbc..a6dc65ffc36 100644
--- a/src/Mono.Android/Mono.Android.csproj
+++ b/src/Mono.Android/Mono.Android.csproj
@@ -39,23 +39,23 @@
$(OutputPath)..\v1.0\mscorlib.dll
False
-
+
$(OutputPath)..\v1.0\System.dll
False
-
+
$(OutputPath)..\v1.0\System.Core.dll
False
-
+
$(OutputPath)..\v1.0\System.Net.Http.dll
False
-
+
$(OutputPath)..\v1.0\System.Runtime.Serialization.dll
False
-
+
$(OutputPath)..\v1.0\System.Xml.dll
False
diff --git a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
index d5fbe87b4f1..01f024b2734 100644
--- a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
+++ b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
@@ -39,6 +39,7 @@
+
diff --git a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/ValueToItems.cs b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/ValueToItems.cs
new file mode 100644
index 00000000000..933ba18678f
--- /dev/null
+++ b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/ValueToItems.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace Xamarin.Android.Tools.BootstrapTasks
+{
+ public class ValueToItems : Task
+ {
+ [Required]
+ public string Value { get; set; }
+
+ public string Split { get; set; }
+
+ public ITaskItem[] Exclude { get; set; }
+
+ [Output]
+ public ITaskItem[] Items { get; set; }
+
+ [Output]
+ public ITaskItem Location { get; set; }
+
+ public override bool Execute ()
+ {
+ Log.LogMessage (MessageImportance.Low, $"Task {nameof (ValueToItems)}");
+ Log.LogMessage (MessageImportance.Low, $" {nameof (Value)}: {Value}");
+ Log.LogMessage (MessageImportance.Low, $" {nameof (Split)}: '{Split}'");
+ Log.LogMessage (MessageImportance.Low, $" {nameof (Exclude)}:'");
+ foreach (var e in (Exclude ?? new ITaskItem[0])) {
+ Log.LogMessage (MessageImportance.Low, $" {e}");
+ }
+
+ var items = new List ();
+ var excludes = Exclude?.Select (e => e.ItemSpec)?.ToList ();
+
+ var values = Value.Split (new [] { Split }, StringSplitOptions.RemoveEmptyEntries);
+ foreach (var v in values) {
+ if (excludes != null && excludes.Any (e => string.Equals (e, v, StringComparison.OrdinalIgnoreCase)))
+ continue;
+ items.Add (new TaskItem (v));
+ }
+
+ Items = items.ToArray ();
+
+ Log.LogMessage (MessageImportance.Low, $" [Output] {nameof (Items)}:");
+ foreach (var e in Items) {
+ Log.LogMessage (MessageImportance.Low, $" {e}");
+ }
+
+ return !Log.HasLoggedErrors;
+ }
+ }
+}
+
diff --git a/src/monodroid/monodroid.projitems b/src/monodroid/monodroid.projitems
index 9c7e0040e0c..7378aba4c2b 100644
--- a/src/monodroid/monodroid.projitems
+++ b/src/monodroid/monodroid.projitems
@@ -1,11 +1,5 @@
-
- <_SupportedAbis>$(AndroidSupportedAbis.Replace(':', ';'))
-
-
- <_MonoRuntime Include="$(_SupportedAbis)" Exclude="@(HostOSName)" />
-
<_RequiredProgram Include="xxd" />
diff --git a/src/monodroid/monodroid.targets b/src/monodroid/monodroid.targets
index 5e3a057f0ae..a66fd00aa24 100644
--- a/src/monodroid/monodroid.targets
+++ b/src/monodroid/monodroid.targets
@@ -1,5 +1,6 @@
+
@@ -8,7 +9,16 @@
+
+
+
+
+