Извиняюсь за туфтологию, но в общем то проблема примерно так и выглядит...
Есть приложение, которое ссылается на 3 сборки (назовём их Assembly1, Assembly2, Assembly3 оформлены как "библиотека классов") все они также встроены в главное приложение как embedded resource и подгружаются при запуске через AppDomain.CurrentDomain.AssemblyResolve += {...}.
Всё было хорошо, до тех пор, пока Assembly3 не стала ссылаться на Assembly2. После этого главное приложение перестало запускаться если не подкинуть вручную Assembly2 в основной каталог. (вылетает APPCRASH с KERNELBASE.dll)
UPD:
В общем то удалось решить таким образом, хоть самой сути вроде и не решает. Главная точка входа программы выглядела примерно таким образом:
...
using Assembly2;
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveEventHandler);
Assembly2.Method1();
...
}
Проблема ушла после того Assembly2.Method1() перенёс из точки входа в код инициализации главной формы приложения...
Была у меня такая же ситуация. Так ничего и не смог сделать. Лучше всего переработать код, избавившись от таких сложных и циклических ссылок. А то еще неизвестно, как это аукнется...
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости