Связывание.Net 4.0, резолюция Ассамблеи и VSTO 4.0
У меня проблема с разрешением сборки со связанными сборками при написании надстройки VSTO 4.0.
У меня есть сборки A, B, C и D; где сборка A ссылается на ссылки B и B C и D. В процессе сборки я связываю сборки C и D со сборкой B. Затем в сборке A мы используем два процесса перенаправления привязки сборки, оба выполняются в статическом конструкторе сборки A.
- Из сборки А зацепить
AppDomain.CurrentDomain.AssemblyResolve += MyResolver
перенаправить связывание C и D обратно в B (это имело место в 80% случаев использования.) - Затем для решения других 20% (или я так думал) от сборки A I вызова
Assembly.LoadFrom( <assembly B> )
Теперь я столкнулся с проблемой, когда приложение VSTO 4.0 получает следующее исключение при попытке инициализировать объект из сборки A.
Не удалось загрузить файл или сборку 'C, Version=#, Culture= нейтральный, PublicKeyToken=#' или одну из ее зависимостей. Система не может найти указанный файл.
Когда я смотрю на модули, загруженные в AppDoamin, я вижу сборки A и B так же, как и с приложением, которое работает должным образом; Тем не менее Appdomain.CurrentDomain.AssemblyResolve
событие никогда не срабатывает, или, по крайней мере, мое private static Assembly MyResolver( Object sender, ResolveEventArgs args )
никогда не вводится
В моем поиске ответ, который я нашел, который, казалось, наиболее соответствовал моей проблеме, был здесь...
http://widequestion.com/question/vsto-assemblyresolve-issue/
Все это, как говорится, его ответ "нет другого пути" кажется... ну, неправильно, но я не могу это опровергнуть. Кто-нибудь знает, как я мог бы контролировать перенаправление сборки в этом контексте?