Visual Studio update (16.8.1) lead to CI build failures


We recently updated our build servers to using Visual Studio 16.8.1 and Xamarin.iOS and have hit an issue with the previous MSBuild command that used to run.

For the record we are build a Xamarin Forms solution and targeting iOS here.

The command is:

"C:Program Files (x86)Microsoft Visual Studio19ProfessionalMSBuildCurrentBinmsbuild" MySolution.sln /p:Configuration="AppStore" /p:Platform="iPhone" /p:ServerAddress="" /p:ServerUser=""

I have tried searching for the specific error message that it is reporting (below) however I haven’t been able to find anything useful so far.

C:Program Files (x86)Microsoft Visual Studio19ProfessionalMSBuildXamariniOSXamarin.Shared.targets(230,3): error MSB4044: The "GetMinimumOSVersion" task was not given a value for the required parameter "SdkVersion".


Upon further digging I believe I have traced the source of the error back to these lines not being set in Xamarin.Shared.props.

<!-- SdkVersion -->
<_SdkVersion Condition="'$(_PlatformName)' == 'macOS'">$(MacOSXSdkVersion)</_SdkVersion>
<_SdkVersion Condition="'$(_PlatformName)' != 'macOS'">$(MtouchSdkVersion)</_SdkVersion>

I haven’t been able to find out what sets MtouchSdkVersion and therefore why it isn’t being set. A comment from just above the quoted section above states:

Sometimes we’ve used different variable names for the same thing for Xamarin.iOS and Xamarin.Mac projects. Here we try to unify those variables

Could it be that this unification has changed the behaviour of something that used to work?

Source: Xamarin.ios Questions

Categorised as Uncategorised Tagged , , , ,


Leave a Reply

Your email address will not be published. Required fields are marked *

Still Have Questions?

Our dedicated development team is here for you!

We can help you find answers to your question for as low as 5$.

Contact Us