Это странно ... может быть.Возможно ли ссылаться на две разные сборки с тем же именем в проекте? разные двоичные файлы
Реферат: Я использую 32-битные библиотеки для связи с Bluetooth. У нас есть общий код, который работает как на .Net compact (для мобильных устройств), так и на стандартах. Сеть.
Я ищу внушительное решение или какой-либо шаблон дизайна, который может существовать, о котором я не знаю.
32feet предлагает один сборник для компактного каркаса и один для стандартного. Ассембли имеют одно и то же имя, одинаковые имена классов.
Мне нужно найти решение, в котором у меня есть общий класс, который любой может потреблять, который будет знать, как соединяется. Я даже не уверен, что это возможно. Решение im, наклоняющееся к настоящему времени, состоит из двух отдельных сборок ... Один для мобильных устройств. .. Один для стандарта. Это не так, и мне интересно, есть ли лучший путь. Можно ли использовать такой тип DI для выбора правильного двоичного файла во время выполнения?
Пример: Открытый аннотация BluetoothBase { Public BluetoothBase() { }
Public int Connect()
{
// this is where problem lies. Need to tell class which assembly to use based on OS. So far I'm finding this is not possible. ..
}
Что происходит, когда вы пытаетесь добавить как в VS к вашему проект? Вы получаете какие-либо ошибки, и если да, то что говорят? Кроме того, как насчет загрузки сборок динамически во время выполнения, где вы загружаете только один из них в зависимости от ОС, а затем вызываете их? – LB2
Lb22 благодарит за ваш ответ. Я могу, например, добавить оба, если переименовать один. Проблема заключается в том, что обе сборки имеют одинаковые имена классов внутри. Например, var btc = new BluetoothClient() - это тот же вызов для обеих сборок. В идеале ... Я хотел бы сделать именно то, что вы сказали ... ссылайтесь на каждую сборку отдельно на основе os. Это просто факт, что обе сборки, похоже, содержат одни и те же пространства имен, одни и те же имена классов, такие же подписи конструктора и т. Д. – tronious
Может ли альтернатива extern решить эту проблему? Похоже, может. Я обновлю этот поток, если он будет – tronious