Динамическая загрузка сборки, которая ожидает сборки GAC, которые фактически недоступны?

Что произойдет, если приложение попытается загрузить сборку, которая имеет ссылки на сборки в GAC, и эти сборки недоступны на машине?

В основном я хочу полагаться на успешную загрузку сборки, чтобы предположить, что сборки, на которые есть ссылки, доступны на машине конечных пользователей. Я тупой?


person NVM    schedule 23.01.2011    source источник


Ответы (2)


Если среда выполнения не может загрузить требуемую сборку, она вызовет исключение (не имеет значения, пытаетесь ли вы загрузить ее при запуске или динамически через Assembly.Load()). Поэтому, если вы не получите исключения, вы можете ожидать, что классы будут доступны.

person Femaref    schedule 23.01.2011
comment
Что вы имеете в виду под «полностью независимым»? Я загружаю его через Assembly.Load () - person NVM; 24.01.2011

В основном я хочу полагаться на успешную загрузку сборки

Никогда не стоит полагаться на что-то подобное! В любом случае, отвечая на ваш вопрос, вы получите исключение. Если исключение не возникло, значит, зависимые сборки загружены. Если возникает исключение , то либо их нет, либо возникла другая проблема.

person Moo-Juice    schedule 23.01.2011
comment
Никогда не стоит полагаться на что-то подобное! Почему? - person NVM; 24.01.2011
comment
Меня не беспокоят случаи отказа. Мне просто нужна «гарантия», что, если он загрузит все, на что ссылается, будет доступно. - person NVM; 24.01.2011
comment
@NVM, ну да, если все загружается, то все, на что он ссылается, доступно. Если он не загружается, что-то не так! Я просто подчеркнула суть вашего вопроса, в которой говорится, что вы хотите полагаться на что-то, что не обязательно является надежным. Однако в контексте того, что вы хотите, вы можете спокойно игнорировать это :) - person Moo-Juice; 24.01.2011