Вопрос по Unity: зависимости и поиск типов
От: SergASh  
Дата: 25.06.09 13:16
Оценка:
Привет всем!

Есть сборка A.exe. В конфиге для Unity задается отображение интерфейса IX на класс X.

Интерфейс IX живет в сборке B.dll. Класс X живет в сборке C.dll.

Сейчас в A имеются референсы на B и C, и все работает. Моя задача — избавиться от прямой зависимости между A.exe и C.dll. Если этот reference убрать, то во время работы получаю ошибку от Unity:

FileNotFound Exception
Could not load file or assembly 'C' or one of its dependencies. The system cannot find the file specified.


Смысл в том, что C.dll — это реализация интерфейсов и для основной программы там нет ничего полезного. Эту реализацию, возможно, придётся менять не один раз. Отсутствие ссылки будет гарантировать, что из основной программы никто, включая меня, случайно не завяжется на конкретную реализацию интерфейсов.

Иными словами, надо как-то научить Unity находить сборки, лежащие рядом с главной. Как бороться?

Спасибо.
Re: Вопрос по Unity: зависимости и поиск типов
От: baranovda Российская Империя  
Дата: 25.06.09 13:23
Оценка:
Здравствуйте, SergASh, Вы писали:

SAS>Иными словами, надо как-то научить Unity находить сборки, лежащие рядом с главной. Как бороться?


AppDomain.CurrentDomain.AssemblyResolve
Re: Вопрос по Unity: зависимости и поиск типов
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 25.06.09 13:23
Оценка:
Здравствуйте, SergASh, Вы писали:

SAS>Привет всем!


SAS>Есть сборка A.exe. В конфиге для Unity задается отображение интерфейса IX на класс X.


SAS>Интерфейс IX живет в сборке B.dll. Класс X живет в сборке C.dll.


SAS>Сейчас в A имеются референсы на B и C, и все работает. Моя задача — избавиться от прямой зависимости между A.exe и C.dll. Если этот reference убрать, то во время работы получаю ошибку от Unity:

SAS>

FileNotFound Exception
SAS>Could not load file or assembly 'C' or one of its dependencies. The system cannot find the file specified.


SAS>Смысл в том, что C.dll — это реализация интерфейсов и для основной программы там нет ничего полезного. Эту реализацию, возможно, придётся менять не один раз. Отсутствие ссылки будет гарантировать, что из основной программы никто, включая меня, случайно не завяжется на конкретную реализацию интерфейсов.


SAS>Иными словами, надо как-то научить Unity находить сборки, лежащие рядом с главной. Как бороться?


SAS>Спасибо.



Варианта как всегда 2: сделать сборку D, которая видит всех и занимается только тем, что настравивает окружение, тогда можно зависимость A->B убрать;
другой вариант — загружить все сборки руками через Assembly.Load.
Re: Вопрос по Unity: зависимости и поиск типов
От: hugo Австрия  
Дата: 25.06.09 13:24
Оценка: 4 (1)
Здравствуйте, SergASh, Вы писали:

SAS>Иными словами, надо как-то научить Unity находить сборки, лежащие рядом с главной. Как бороться?


А не надо этому учить, Unity это и так умеет. Иначе в ней смысла бы не было. Руками сборку С подкладывал?
Re[2]: Вопрос по Unity: зависимости и поиск типов
От: SergASh  
Дата: 25.06.09 14:10
Оценка:
Здравствуйте, hugo, Вы писали:

H>Здравствуйте, SergASh, Вы писали:


SAS>>Иными словами, надо как-то научить Unity находить сборки, лежащие рядом с главной. Как бороться?


H>А не надо этому учить, Unity это и так умеет. Иначе в ней смысла бы не было. Руками сборку С подкладывал?


Да, действительно руками если подложить, то помогает. Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.