Update Xamarin assemblies in 3rd party dll’s

Since the birth of Xamarin.iOS 6.0 (formerly MonoTouch), many of the platform assemblies are now been signed. Some of which include the monotouch.dll, MonoTouch.Dialog-1.dll and OpenTK-1.0.dll.

In many of our projects, we use 3rd party dlls that have a reference to these now signed Xamarin assemblies.  When you upgrade to Xamarin.iOS 6.0, it causes annoying assembly version build errors.  So what can one do?  Wait for the 3rd party vendors to update their assemblies?  I think not.

In comes the Xamarin.iOS reference updater.  Thanks to Rolf Bjarne Kvinge, a Xamarin-ian no less, you won’t have to wait on those pesky 3rd party vendors to update their Xamarin assembly references.  The reference updater project provides a simple Xamarin solution, which you open and build using Xamarin Studio.  After building the solution, you will need to open a terminal window, navigate to the project directory where iOSRefUpdater.exe is located and execute the following command to convert the third-party assembly in place.

mono iOSRefUpdater.exe /path/to/third/party/assembly.dll


One other nice feature of this utility is that it also creates a backup of the assembly being converted in-place.

Advertisements
Tagged ,

2 thoughts on “Update Xamarin assemblies in 3rd party dll’s

  1. Mars says:

    I’m sorry for the noobish question, but exactly how do I execute the code after I’m in the directory?

    I navigated to the project path, giving me:
    /Users/me/Projects/Mobile/APPS/CoolGame/CoolGame_042913

    Then I type in:
    mono iOSRefUpdater.exe /Users/me/Projects/Mobile/APPS/CoolGame/CoolGame_042913/ThirdParty/MyAssembly.dll

    and it says “Cannot open assembly ‘iOSRefUpdater.exe’: No such file or directory.”

    What am I doing wrong?

    • Dele O says:

      If I understand what you are doing correctly, I think you navigated to the incorrect path. Navigate to the folder where the iOSRefUpdater.exe has been copied to after building the iOSRefUpdater project. Let me know if this works then.
      Partly my fault coz as I read my post again, I wasn’t that clear which path to navigate to.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: