diff --git a/build-tools/mono-runtimes/mono-runtimes.targets b/build-tools/mono-runtimes/mono-runtimes.targets
index 5350aa04a36..c2f006ce6e4 100644
--- a/build-tools/mono-runtimes/mono-runtimes.targets
+++ b/build-tools/mono-runtimes/mono-runtimes.targets
@@ -295,7 +295,7 @@
WorkingDirectory="$(IntermediateOutputPath)\%(_MonoRuntime.Identity)"
/>
+
diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj
index 044d062871c..11c32affcf7 100644
--- a/src/Mono.Android/Mono.Android.csproj
+++ b/src/Mono.Android/Mono.Android.csproj
@@ -315,7 +315,7 @@
- $(JavaCallableWrapperOutputPathAbs)$(AssemblyName).dll
+ $([System.IO.Path]::GetFullPath ('$(OutputPath)$(AssemblyName).dll'))
CoreBuild
diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets
index 61e9d947461..a4d5ed660bb 100644
--- a/src/Mono.Android/Mono.Android.targets
+++ b/src/Mono.Android/Mono.Android.targets
@@ -40,6 +40,7 @@
+
<_AndroidProfile Include="Profiles\api-*.xml.in" />
@@ -128,6 +129,7 @@
SourceFiles="$(IntermediateOutputPath)__dex\classes.dex"
DestinationFiles="$(OutputPath)mono.android.dex"
/>
+
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
index 58b558d8c66..22b3dcecf6c 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
@@ -143,9 +143,11 @@
+
+
diff --git a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateProfile.cs b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateProfile.cs
index c7c9fdda82a..d5c4b31693b 100644
--- a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateProfile.cs
+++ b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateProfile.cs
@@ -38,7 +38,14 @@ public override bool Execute ()
sb.AppendLine ("\t}");
sb.AppendLine ("}");
- File.WriteAllText (OutputFile.ItemSpec, sb.ToString ());
+ var newContents = sb.ToString ();
+ var curContents = "";
+ if (File.Exists (OutputFile.ItemSpec)) {
+ curContents = File.ReadAllText (OutputFile.ItemSpec);
+ }
+ if (newContents != curContents) {
+ File.WriteAllText (OutputFile.ItemSpec, sb.ToString ());
+ }
return !Log.HasLoggedErrors;
}