How to build Xamarin.Android and Xamarin.iOS projects using MSBuild instead of XBuild?

xamarin
#1

We’ve run into an issue where MSBuild and XBuild build our project differently. While I sort out why, is there a way to have Bitrise use MSBuild instead of XBuild?

1 Like

Xamarin 15.2.2 - error XA5103: NDK C compiler resulted in an error
#2

Hi @brisell ,
thanks for the question!
We will look into it.

1 Like

#3

Great! The specific issue that we are running into is this: https://bugzilla.xamarin.com/show_bug.cgi?id=38476

We can set Xamarin Studio to use MSBuild, but it still leaves bitrise building with xbuild. I put in an AfterBuild in the csproj that copies the resource assemblies and it seems to be working for now.

1 Like

#4

Any update on this?

1 Like

#5

Status: More thorough inspection is scheduled, most likely for next week.

We’ll also start to work on a new stack which will have Visual Studio for Mac instead of Xamarin Studio. Related discussion: Will Xamarin 15.2.2 roll out this weekend, and will it fix SDK-style csproj?

In the meantime you can use a Script step and call any tool any way you like, if something’s not supported by the provided steps, or fork/edit our step the way you want it (PRs are also welcome, but it’s also possible to just use your own fork, with the git:: style step ref http://devcenter.bitrise.io/bitrise-cli/steps/#special-step-sources).

If you have any questions just let us know!

0 Likes

#6

Awesome, thank you Viktor! I’ll look into the fork option, but you’re right, I didn’t even think to just put together a script to call MSBuild. I’ll play around with my options and let you know what I end up sorting out for now. Thank you.

1 Like

#7

xamarin-archive 1.4.1 was just released, and the new version now has a tool option where you can set msbuild: https://github.com/bitrise-steplib/steps-xamarin-archive/releases/tag/1.4.1

P.S.: due to caching on bitrise.io it might take some time for the new version to show up. If you use the local workflow editor or set the version in bitrise.yml directly, 1.4.1 is available now. On the website it should be available in ~10-30 mins; if you’d still not see it after that, please reload the page/editor a couple of times to refresh the browser’s cache.

0 Likes