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
v1.plugin.BindingLibrary.iOS; (Device v1)
v2.plugin.BindingLibrary.iOS; (Device v2)
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').