Код: Выделить всё
MyProject
|
| (Imports with MEF)
|
MyImplementation
|
| (has reference to)
|
ThirdPartyLib
/ \
/ \ (has refs to)
/ \
USB.dll Bluetooth.dll
Однако на компьютер пользователя (Windows 10, сборка 1607). Я получаю следующие исключения:
System.TypeLoadException: не удалось найти тип среды выполнения Windows «Windows.Devices.Bluetooth. GenericAttributeProfile.GattCharacteristicsResult».
System.TypeLoadException: не удалось найти тип среды выполнения Windows «Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult».
Система .TypeLoadException: не удалось найти тип среды выполнения Windows «Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult».
Быстрый поиск одного из этих типов показывает это. был представлен только в Win 10 Build 15063, что объясняет исключение для 1607 - и это нормально, потому что я фактически не использую функции Bluetooth (я предполагаю, что эти 3 типа используются Bluetooth.dll Фактически, если я использую пример приложения, которое имеет прямую ссылку на ThirdPartyLib, оно работает нормально без каких-либо исключений.
Я могу контролировать только код MyProject и MyImplementation. Есть ли способ позволить любому из них (желательно в MyImplementation) игнорировать определенные исключения, чтобы MEF все равно мог составлять части?
(В качестве альтернативы я бы сказал рад, если можно было включить еще одну библиотеку, которая заполнила бы пробелы в этих недостающих типах, но не уверен, что это возможно).
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-required