Таким образом, я загружаю сборку во время выполнения, а также использую обобщенные типы в зависимости от типа сборки.Чтобы получить правильный тип, каждая DLL реализует фабрику, которая, как я ожидаю, существует, которая создает экземпляр класса с правильным универсальным типом.
Type factoryType = assembly.GetType("MyCompany.ScenarioPlayer.PlayerFactory");
MethodInfo method = factoryType.GetMethod("CreatePlayer", BindingFlags.Public | BindingFlags.Static);
player = (IScenarioPlayer)method.Invoke(null, null);
Этот код завершается ошибкой в методе.иметь административные привилегии.Правильно ли это, что любые вызовы MethodInfo. Invoke, как я использую, требует администратора?Я вошел в код моей DLL, и он даже не проходит этот вызов в Factory.
edit: оказывается, что для целевой DLL была зависимость, которая не учитывалась.Мне действительно нравится предложенная идея структуры MEF.