День добрый всем,
Вопрос про side-by-side.
Есть такая вот констурукция:
.exe -> 1.dll -> 2.dll
.exe загружает сборку вот таким способом:
Assembly ass = Assembly.LoadFrom("C:\\1.dll");
Далее, по идее, в манифесте 1.dll прописана зависимость от 2.dll. Примерно вот таким способом:
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="2"
version="1.0.0.0"
publicKeyToken="0000000000000000"
/>
</dependentAssembly>
</dependency>
Проблема в том, что если верить sxstrace.exe, то никаких попыток загрузить 2.dll даже не происходит. А вот если добавить этот же кусок манифеста в .exe, то всё загружается. Но .exe "вражеский", поэтому такой вариант решения не подходит.
Собственно вопросов два: почему? И что делать?
Спасибо.
Здравствуйте, Andrusha, Вы писали:
Возможно эта
статья поможет.
A>Собственно вопросов два: почему?
Сборки загруженные с помощью LoadFrom имеют особые правила по резолву своих зависимостей.
A>И что делать?
Можно попробовать положить обе сборки в директорию к exe файлу. Или обработать AppDomain.AssemblyResolve