Xamarin Archive Android: Target Configuration gets overridden

Hey Bitrise team!

I’ve run into a build failure issue with our Xamarin project…

Given this example configuration mapping:

ParentProject
Submission: ChildProject - Release
Release: ChildProject - Release
Debug: ChildProject - Debug

ChildProject
Release: (no dependents)
Debug: (no dependents)

Running “Xamarin Archive” (xamarin-archive version 1.4.2) for the iPhone platform with Submission configuration, things work as expected: a Submission build of ParentProject builds the Release version of ChildProject

However, running “Xamarin Archive” for the Any CPU platform (android), with Submission configuration, things don’t work :frowning: Bitrise tries to use Submission for ChildProject. The Archive step then fails since ChildProject does not have a Submission configuration.

Please help :slight_smile:

Hi @andrec,
thanks for the report!

Could you please share your solution file’s content with us? It should contain your solution (configuration | platform) - project (configuration | platform) mapping.

1 Like

Sure. I removed some of it due to Bitrise’s post-size limit. But the mapping is there.


Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{09B545ED-2477-4E8F-A317-AD30147CBC54}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shire.Core", "shire\Shire.Core\Shire.Core.csproj", "{FF30531C-716A-47B5-AB7F-83519734B133}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shire.Tests", "shire\Shire.Tests\Shire.Tests.csproj", "{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shire.Android", "shire\Shire.Android\Shire.Android.csproj", "{F593CF93-1B09-4726-BE95-37E891FCCC86}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shire.iOS", "shire\Shire.iOS\Shire.iOS.csproj", "{EB788F1B-D6DC-4CDB-A315-43EBD1036018}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wolf.Tests", "Wolf.Tests\Wolf.Tests.csproj", "{B8854946-6C11-4561-91BF-1923483BB022}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wolf.Core", "Wolf.Core\Wolf.Core.csproj", "{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wolf.iOS", "Wolf.iOS\Wolf.iOS.csproj", "{F2222E4D-762B-43D2-9924-0F1F12391646}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOSCharts", "shire\iOSCharts.Xamarin\iOSCharts.csproj", "{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MPAndroidChart", "shire\MPAndroidChart.Xamarin\MPAndroidChart.csproj", "{9946103E-E7B9-47FA-B6BA-474A6528BFF4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernHttpClient.Android", "ModernHttpClient\src\ModernHttpClient\ModernHttpClient.Android.csproj", "{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernHttpClient.Portable", "ModernHttpClient\src\ModernHttpClient\ModernHttpClient.Portable.csproj", "{6DD98593-4498-463D-B16E-F6CC5A928B79}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wolf.Android", "Wolf.Android\Wolf.Android.csproj", "{D415C3CF-839E-45D6-B456-3C195A22A675}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analytics", "Analytics", "{EC1507E0-ADBC-4828-AC03-566B6610A543}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics.Xamarin.Pcl", "shire\Analytics.Xamarin\Analytics.Xamarin.Pcl\Analytics.Xamarin.Pcl.csproj", "{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics.Xamarin.Android", "shire\Analytics.Xamarin\Analytics.Xamarin.Android\Analytics.Xamarin.Android.csproj", "{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics.Xamarin.iOS", "shire\Analytics.Xamarin\Analytics.Xamarin.iOS\Analytics.Xamarin.iOS.csproj", "{33432EE5-146F-4C0B-B9A8-D5387D758779}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FitProParser", "FitProParser\FitProParser.csproj", "{B3A3F23F-607D-40A1-BD69-F2CC862758FF}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
		Debug|iPhoneSimulator = Debug|iPhoneSimulator
		Release|iPhone = Release|iPhone
		Release|iPhoneSimulator = Release|iPhoneSimulator
		Debug|iPhone = Debug|iPhone
		Automated Test|iPhone = Automated Test|iPhone
		Submission|Any CPU = Submission|Any CPU
		Submission|iPhone = Submission|iPhone
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Debug|iPhone.Build.0 = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Release|iPhone.ActiveCfg = Release|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Release|Any CPU.Build.0 = Release|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Debug|iPhone.Build.0 = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Release|iPhone.ActiveCfg = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Release|Any CPU.Build.0 = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{B8854946-6C11-4561-91BF-1923483BB022}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Debug|iPhone.Build.0 = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Release|iPhone.ActiveCfg = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Release|iPhone.Build.0 = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018}.Submission|iPhone.Build.0 = Release|Any CPU
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Debug|iPhone.ActiveCfg = Debug|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Debug|iPhone.Build.0 = Debug|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Release|Any CPU.ActiveCfg = Release|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Release|iPhone.ActiveCfg = Release|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Release|iPhone.Build.0 = Release|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Automated Test|iPhone.ActiveCfg = Automated Test|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Automated Test|iPhone.Build.0 = Automated Test|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Submission|Any CPU.ActiveCfg = Submission|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Submission|iPhone.ActiveCfg = Submission|iPhone
		{F2222E4D-762B-43D2-9924-0F1F12391646}.Submission|iPhone.Build.0 = Submission|iPhone
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Release|Any CPU.Build.0 = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Release|iPhone.ActiveCfg = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Submission|Any CPU.Build.0 = Release|Any CPU
		{F593CF93-1B09-4726-BE95-37E891FCCC86}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Debug|iPhone.Build.0 = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Release|Any CPU.Build.0 = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Release|iPhone.ActiveCfg = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Release|iPhone.Build.0 = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Submission|Any CPU.Build.0 = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{FF30531C-716A-47B5-AB7F-83519734B133}.Submission|iPhone.Build.0 = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Debug|iPhone.Build.0 = Debug|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Release|Any CPU.Build.0 = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Release|iPhone.ActiveCfg = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Release|iPhone.Build.0 = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Automated Test|iPhone.ActiveCfg = AutomatedTest|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Automated Test|iPhone.Build.0 = AutomatedTest|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Submission|Any CPU.ActiveCfg = Submission|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Submission|Any CPU.Build.0 = Submission|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Submission|iPhone.ActiveCfg = Submission|Any CPU
		{FF558546-6886-4A0F-BBA9-6FFEADB1BCF5}.Submission|iPhone.Build.0 = Submission|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Release|iPhone.ActiveCfg = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Release|iPhone.Build.0 = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Debug|iPhone.Build.0 = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE}.Submission|iPhone.Build.0 = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Release|Any CPU.Build.0 = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Release|iPhone.ActiveCfg = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Submission|Any CPU.Build.0 = Release|Any CPU
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Release|Any CPU.Build.0 = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Release|iPhone.ActiveCfg = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Release|iPhone.Build.0 = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Submission|Any CPU.Build.0 = Release|Any CPU
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Release|Any CPU.Build.0 = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Release|iPhone.ActiveCfg = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Release|iPhone.Build.0 = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Debug|iPhone.Build.0 = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Submission|Any CPU.Build.0 = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{6DD98593-4498-463D-B16E-F6CC5A928B79}.Submission|iPhone.Build.0 = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Release|Any CPU.Build.0 = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Release|Any CPU.Deploy.0 = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Release|iPhone.ActiveCfg = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Submission|Any CPU.ActiveCfg = Submission|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Submission|Any CPU.Build.0 = Submission|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Submission|Any CPU.Deploy.0 = Submission|Any CPU
		{D415C3CF-839E-45D6-B456-3C195A22A675}.Submission|iPhone.ActiveCfg = Submission|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Release|Any CPU.Build.0 = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Release|iPhone.ActiveCfg = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Release|iPhone.Build.0 = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Debug|iPhone.Build.0 = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Submission|Any CPU.Build.0 = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7}.Submission|iPhone.Build.0 = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Release|Any CPU.Build.0 = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Release|iPhone.ActiveCfg = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Release|iPhone.Build.0 = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Debug|iPhone.Build.0 = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Submission|Any CPU.Build.0 = Release|Any CPU
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Release|Any CPU.Build.0 = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Release|iPhone.ActiveCfg = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Release|iPhone.Build.0 = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Debug|iPhone.Build.0 = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Automated Test|iPhone.ActiveCfg = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Automated Test|iPhone.Build.0 = Debug|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Submission|Any CPU.ActiveCfg = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Submission|iPhone.ActiveCfg = Release|Any CPU
		{33432EE5-146F-4C0B-B9A8-D5387D758779}.Submission|iPhone.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(NestedProjects) = preSolution
		{FF30531C-716A-47B5-AB7F-83519734B133} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{09D5BF44-E1CC-4FA1-9B24-7AC5E592CD29} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{F593CF93-1B09-4726-BE95-37E891FCCC86} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{EB788F1B-D6DC-4CDB-A315-43EBD1036018} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{AA49CF8C-4ADE-4142-BE58-689B43EDCFDE} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{9946103E-E7B9-47FA-B6BA-474A6528BFF4} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{F7290B9E-C821-4DA7-A4E5-824D9B0F70F2} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{6DD98593-4498-463D-B16E-F6CC5A928B79} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{EC1507E0-ADBC-4828-AC03-566B6610A543} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
		{F074C87F-5524-4FF6-A0A9-74DC6BD5FAA7} = {EC1507E0-ADBC-4828-AC03-566B6610A543}
		{5FCCF15F-BF1F-4871-B684-E02A4DD418E2} = {EC1507E0-ADBC-4828-AC03-566B6610A543}
		{33432EE5-146F-4C0B-B9A8-D5387D758779} = {EC1507E0-ADBC-4828-AC03-566B6610A543}
		{B3A3F23F-607D-40A1-BD69-F2CC862758FF} = {09B545ED-2477-4E8F-A317-AD30147CBC54}
	EndGlobalSection

Hi based on your solution you have on project (Wolf.Android\Wolf.Android.csproj) which mapped config is: Submission|Any CPU

in your solution:
{D415C3CF-839E-45D6-B456-3C195A22A675}.Submission|Any CPU.Build.0 = Submission|Any CPU

the project id: D415C3CF-839E-45D6-B456-3C195A22A675
belongs to the: Wolf.Android\Wolf.Android.csproj

in your solution the GlobalSection(ProjectConfigurationPlatforms) sections defines the solution config platform <-> project config platform mapping, the layout: {PROJECT_ID}.SOLUTION_CONFIG|SOLUTION_PLATFORM = PROJECT_CONFIG|PROJECT_PLATFORM

Hi @godreikrisztian,

Sorry if I don’t understand what you’re trying to say…

but yes, Wolf.Android is supposed to build the Submission variant when built with Submission | Any CPU
The issue is other mappings that specify they should build Release variants when build with Submission | Any CPU
For example:
{6DD98593-4498-463D-B16E-F6CC5A928B79}.Submission|Any CPU.Build.0 = Release|Any CPU

6DD98593-4498-463D-B16E-F6CC5A928B79 corresponding to ModernHttpClient.Portable

So, building Submission for Wolf.Android ends up building Submission for ModernHttpClient.Portable, when it should instead build Release for ModernHttpClient.Portable

Unless I’m mistaken?

Again this works just fine / as expected when building iPhone

@andrec could you please write us a message on bitrise.io on-site chat? i will assign the conversation to myself, i would like to take a look on your failed build log.

sure thing!

1 Like

hey @godreikrisztian just pinging you here since I haven’t heard back from the on-site chat. cheers.

Hi @andrec,

@godreikrisztian is on holiday right now, I just answered on the support chat

hi @viktorbenei and @godreikrisztian

I poked around the Bitrise code and have found why the Android build is failing but the iOS build is succeeding.
Here are the build commands generated by go-xamarin/builder

iOS
"/Library/Frameworks/Mono.framework/Commands/xbuild" "/Users/vagrant/git/Wolf.sln" "/target:Build" "/p:SolutionDir=/Users/vagrant/git" "/p:Configuration=Submission" "/p:Platform=iPhone" "/p:ArchiveOnBuild=true" "/p:BuildIpa=true"

Android
"/Library/Frameworks/Mono.framework/Commands/xbuild" "/Users/vagrant/git/Wolf.Android/Wolf.Android.csproj" "/target:SignAndroidPackage" "/p:SolutionDir=/Users/vagrant/git" "/p:Configuration=Submission"

The issue is that Android builds from the Wolf.Android.csproj, but iOS builds from Wolf.sln. Building iOS from Wolf.iOS.csproj causes the same failures Android had. Building Android from Wolf.sln builds with no failures (* see below).
I can only imagine this is because Wolf.sln is where the mappings are defined, and thus they are being ignored when building from the *.csproj file.

* Now, Wolf.sln doesn’t have the target SignAndroidPackage, so I’m not sure exactly what the correct command(s) should be in order to properly build Android from the Wolf.sln file.

I think that’s because of some kind of Xamarin limitation, which caused issues in the past if the Android project was built using the sln instead of the csproj, but I’m not 100% sure. There’s definitely a reason, I remember @godreikrisztian explaining it quite a while ago. @godreikrisztian will tell it for sure once he’s back (next Monday).

Could you try to run the command from a Script step @andrec with the sln instead of the csproj, to see if that works?

I replaced the Xamarin Archive step with the following script:
"/Library/Frameworks/Mono.framework/Commands/xbuild" "./Wolf.sln" "/target:Build" "/p:SolutionDir=." "/p:Configuration=Submission" "/p:Platform=Any CPU" "/p:ArchiveOnBuild=true"

and it succeeded: https://www.bitrise.io/build/88d734ce6a6253ee

The important difference being that even though the solution was built with Submission, subprojects are still built as they are mapped (See that MPAndroidChart build with Release)

Project "/Users/vagrant/git/Wolf.sln" (Build target(s)):
Target ValidateSolutionConfiguration:
	Building solution configuration "Submission|Any CPU".
Target Build:
	Project "/Users/vagrant/git/shire/MPAndroidChart.Xamarin/MPAndroidChart.csproj" (default target(s)):
		Target PrepareForBuild:
			Configuration: Release Platform: AnyCPU
			Created directory "bin/Release/"

However, an APK wasn’t generated (see build link). Also I think the signing step is now missing.

Do you mean that the APK is not attached to the build, or that no APK is generated at all?

If you completely replace the Xamarin Archive step with a Script then you’ll have to copy the generated APKs yourself. That’s taken care of by the Xamarin Archive step when you use that.

What do you mean by “signing step”?

@viktorbenei, @godreikrisztian

Thanks for your help and explanation with this issue, but I’ve found a better solution rather than introducing a new build configuration :slight_smile:
Xamarin’s documentation here says Android should be built with csproj, so I guess this approach wasn’t really possible

https://developer.xamarin.com/guides/cross-platform/xamarin-studio/build-system/#Build_and_package_an_Android_APK_Release_configuration_notice_the_CSPROJ_is_used_not_the_SLN

Indeed we did have a reason why the command was constructed that way, most likely something like what you linked - @godreikrisztian when back next week can say for sure.

If you have some time can you share which solution you went with? Might help others too :slight_smile:

Sure thing.

The reason I created a Submission build configuration was to define a SUBMISSION compile-time symbol. Logic in the code would then branch on this symbol, if defined.

The new solution is to define the SUBMISSION symbol in the build command using DefineConstants (In Bitrise this is done in Xamarin Archive Step > Debug > Options to append to the build command). This removes the need of the Submission build configuration, but still defines the symbol.

1 Like

That’s quite a neat solution @andrec - thanks for sharing! :slight_smile:

1 Like