Xamarin - PCL/iOS/UWP/Droid - MT4118 & MT4116

Hi

I've got a solution implementing functions for various types of projects (iOS, Android, UWP) with multiple binding objects.

The criteria is:
We have implemented connections with various devices which have different versions. Each project can implement different version for a device and therefor we have a binding library for each part (plugin)

Then we have a factory for each, e.g. for iOS, where we have few plugins that can be selected from. When building the iOS app however we get an error because there can only be one instance of a library of the same type.
Isn't it possible to have multiple versions? Since they are all in a separate namespace

Plugin 1
v1.plugin.iOS.Project;
v1.plugin.Droid.Project;
v1.plugin.BindingLibrary.iOS; (Device v1)
v1.plugin.BindingLibrary.Droid

Plugin 2
v2.plugin.iOS.Project;
v2.plugin.Droid.Project;
v2.plugin.BindingLibrary.iOS; (Device v2)
v2.plugin.BindingLibrary.Droid

In this setup Plugin 1 is bound to use v1 of the same device Plugin 2 is using, but Plugin 2 uses version 2, which is crucial for solution the setup.

The error when building the iOS project and loading to a tablet:
MTOUCH : error MT4116: Could not register the assembly 'Binding1': error MT4118: Cannot register two managed types ('Binding1.iBPBitmapContext, Binding1' and 'Binding2.iBPBitmapContext, Binding2') with the same native name ('iBPBitmapContext').

Answers

  • Could someone please answer if this is possible. Also if the description is not good enough.

    We are in trouble when using two libraries for iOS in different projects within the same solution, but everything works for Android, with the same setup.

    Is the namespace difference not sufficient?

  • ClayBrinleeClayBrinlee USMember ✭✭

    I had similar error and fixed it by unloading project, deleting the bin/obj folders. Rebuilding project, then I got a ton of errors. Close and restarted VS and rebuilt with no issues.

Sign In or Register to comment.