Если ваша dll уже находится в автоматически найденном пути (current-directory, bin и т. Д.) И загружена, потому что вы ссылались на что-то в этой сборке, ваш LoadFile (вы можете вместо этого использовать LoadFrom) загрузит ту же DLL другой контекст (LoadFrom-context) вместо значения по умолчанию.
Вы должны либо рассмотреть возможность загрузки DLL только один раз, либо попытаться сначала извлечь свою сборку из контекста по умолчанию, чтобы избежать конфликта, посмотрев в AppDomain.CurrentDomain.GetAssemblies ().
Вы даже можете прикрепить обработчик AssemblyResolve-событий к AppDomain.CurrentDomain в качестве запасного варианта, если вы пытаетесь получить доступ к сборке, которая не находится в контексте по умолчанию.
http://msdn.microsoft.com/en-us/library/system.appdomain.assemblyresolve.aspx
AppDomain.CurrentDomain.GetAssemblies () будет содержать сборки из всех контекстов, даже из тех, которые вы загрузили с помощью LoadFrom / LoadFile.