Мы столкнулись с той же проблемой с обработчиком событий AssemblyResolve.Как ни странно, мы видели эту проблему только на компьютерах с Windows XP.Наше приложение локализовано на многие языки, поэтому мы не решались использовать атрибут NeutralResourcesLanguageAttribute.Наше приложение было скомпилировано для .NET v3.5, но на него все еще влияло изменение AssemblyResolve задокументировано для .NET v4.0:
Внимание Начиная с .NET Framework 4, событие ResolveEventHandler возникает для всех сборок, включая сборки ресурсов.В более ранних версиях событие не было инициировано для сборок ресурсов.Если операционная система локализована, обработчик может вызываться несколько раз: по одному разу для каждой культуры в резервной цепочке.
Мы решили, что это нужно, чтобы проверить e.Name и посмотреть, ищет ли ондля * .Resources.dll.Если этот файл не был найден в AppDomain или в известной папке, мы удалили бы «.Resources» и искали * .dll.Если этот файл существует, мы загружаем и возвращаем эту сборку.Это решило проблему для нас.