F # Fake tries to create a Xamarin.iOS binding with the error "btouch-native.exe is not"

I have a Xamarin.iOS solution with a custom binding of Xamarin.iOS, and I can create it locally on my Mac OS in Visual Studio for Mac without any problems. But when I try to create the same solution using F # Fake and create scripts with the same toolkit version on my Mac OS build server, I get the following error:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.ObjCBinding.CSharp.targets(58.3): the specified task execution location "/Library/Frameworks/Mono.framework/Versions/5.4. 1 / lib / mono / xbuild / Xamarin / iOS / btouch-native.exe "is invalid.

I checked ObjCBinding.CSharp.targetsand I Xamarin.iOS.ObjCBinding.CSharp.propssee that for some reason my Mac OS build host is seen as a non-Unix system:

    <BTouchToolPath Condition="'$(OS)' == 'Unix' And '$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' And '$(BTouchToolPath)' == ''">$(MonoTouchSdkRoot)/bin/</BTouchToolPath>
    <BTouchToolPath Condition="'$(OS)' != 'Unix' And '$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' And '$(BTouchToolPath)' == ''">$(MSBuildExtensionsPath)\Xamarin\iOS\</BTouchToolPath>
    <BTouchToolExe  Condition="'$(OS)' == 'Unix' And '$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' And '$(BTouchToolExe)' == ''">btouch-native</BTouchToolExe>
    <BTouchToolExe  Condition="'$(OS)' != 'Unix' And '$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' And '$(BTouchToolExe)' == ''">btouch-native.exe</BTouchToolExe>

I also searched for the tool BTouchToolExeand found it here, updated my .prop file with this path (for all platforms) and got a lot of problems, which is why I think I should find the root cause than trying to fix only the symptom:

/Library/Frameworks/Xamarin.iOS.framework/Versions/11.6.1.3/bin/btouch-native

I tried to create the same source code using Visual Studio for Mac on my build host - it works fine, so it seems to be some kind of problem with my F # Fake and build scripts (mostly by default). My setup (last and largest):

  • Mac OS Build Host
  • Mono 5.4.1
  • Visual Studio for Mac 7.3.3
  • Xamarin.iOS 11.6.1.3

What configuration might be wrong on my build host?

+4

Source: https://habr.com/ru/post/1692394/


All Articles