diff --git a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
index cea2b1dfa146..205d1a6ecb50 100644
--- a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
+++ b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
@@ -13,7 +13,7 @@ This file contains MSBuild targets that support building Xcode framework project
- <_XcodeProjectDefaultOutputPathRoot>$(MSBuildProjectDirectory)/$(IntermediateOutputPath)xcode/
+ <_XcodeProjectDefaultOutputPathRoot>$(IntermediateOutputPath)xcode/
<_BuildXcodeProjectsStamp>$(_MaciOSStampDirectory)_BuildXcodeProjects.stamp
diff --git a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs
index 1a30bf71e968..4fd43bbda3cd 100644
--- a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs
+++ b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs
@@ -57,17 +57,17 @@ protected override IList GenerateCommandLineCommands ()
if (!string.IsNullOrEmpty (OutputPath)) {
args.Add ("-archivePath");
- args.Add (OutputPath);
+ args.Add (Path.GetFullPath (OutputPath));
}
if (!string.IsNullOrEmpty (DerivedDataPath)) {
args.Add ("-derivedDataPath");
- args.Add (DerivedDataPath);
+ args.Add (Path.GetFullPath (DerivedDataPath));
}
if (!string.IsNullOrEmpty (PackageCachePath)) {
args.Add ("-packageCachePath");
- args.Add (PackageCachePath);
+ args.Add (Path.GetFullPath (PackageCachePath));
}
args.AddRange (archive_args);
diff --git a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs
index f7ab3fa48d74..9ed55d12f6c1 100644
--- a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs
+++ b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs
@@ -21,8 +21,9 @@ protected override IList GenerateCommandLineCommands ()
{
var args = new List ();
- if (Directory.Exists (XcArchivePath)) {
- foreach (var frameworkArchive in Directory.EnumerateDirectories (XcArchivePath, "*.xcarchive")) {
+ var fullXcArchivePath = Path.GetFullPath (XcArchivePath);
+ if (Directory.Exists (fullXcArchivePath)) {
+ foreach (var frameworkArchive in Directory.EnumerateDirectories (fullXcArchivePath, "*.xcarchive")) {
args.Add ("-archive");
args.Add (frameworkArchive);
args.Add ("-framework");
@@ -32,7 +33,7 @@ protected override IList GenerateCommandLineCommands ()
if (!string.IsNullOrEmpty (OutputPath)) {
args.Add ("-output");
- args.Add (OutputPath);
+ args.Add (Path.GetFullPath (OutputPath));
}
return args;