0

Essentially what the subject says. I need Xamarin components in order to build some Xamarin/iOS libs that can only be build on MacOS (using sharpie etc). Currently I'm using MacOS12 (which does have Xamarin iOS + Android components pre-installed) but once I tried to move to MacOS13 I noticed that alot of stuff in the Xamarin side have been removed:

https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md

vs

https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md

I'm just wondering whether there's an easy way to reintroduce the Xamarin stuff (iOS and Android) manually from the command line in the MacOS13 image. For example I managed to install mono like so:

wget    https://download.mono-project.com/archive/6.12.0/macos-10-universal/MonoFramework-MDK-6.12.0.182.macos10.xamarin.universal.pkg

sudo    installer    -target /    -pkg MonoFramework-*.pkg

sudo   sh -c   "echo   '\n\nexport PATH=\"/Library/Frameworks/Mono.framework/Versions/Current/bin:\$PATH\"\n\n'   >> ~/.bash_profile"

source    ~/.bash_profile

How can I achieve something similar for the Xamarin iOS+Android components?

My C# .csproj essentially employs this bit:

<Project Sdk="MSBuild.Sdk.Extras/3.0.44">
    <TargetFrameworks>monoandroid12.0;xamarin.ios10;</TargetFrameworks>
</Project>

I have already enriched the agent with a demand to install Xamarin.Android like so:

pool:
    name: Azure Pipelines
    demands:
        - msbuild
        - Xamarin.Android

But this doesn't do the trick - I still get an error during my msbuild about android and ios xamarin stuff missing:

/Users/runner/.nuget/packages/msbuild.sdk.extras/3.0.44/Build/LanguageTargets/CheckMissing.targets(44,5): error : The specified language targets for monoandroid12.0 is missing. Ensure correct tooling is installed for 'monoandroid'. Missing: '/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/xbuild/Xamarin/Android/Xamarin.Android.Bindings.targets' [/Users/runner/work/1/s/bindings/foo.csproj]

1 Answer 1

1

It looks like your problem references this issue #7635.

According to this post you can use:

VERSION=6.12.0.182
MONO_FOLDER_NAME=$(echo $VERSION | cut -d. -f 1,2,3)
PKG_URL="https://download.mono-project.com/archive/${MONO_FOLDER_NAME}/macos-10-universal/MonoFramework-MDK-${VERSION}.macos10.xamarin.universal.pkg"
PKG_NAME=${PKG_URL##*/}
curl -4fsLo "${PKG_NAME}" "${PKG_URL}"
sudo installer -pkg "${PKG_NAME}" -target /

Please share your experience if you managed to solve the problem.

1
  • Will this also install the Android / iOS components needed for my solution to build properly? (it's not clear to me whether this installs just mono or mono + android/ios libs)
    – XDS
    Commented Aug 2, 2023 at 15:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.