Как я могу настроить Unity из нескольких версий одной и той же сборки? - PullRequest
3 голосов
/ 06 сентября 2010

У меня есть несколько версий сборки, каждая из которых реализует тип с именем RequestHandler (с IRequestHandler).

Я хочу настроить Unity для каждой из доступных версий, используя псевдоним, например, 'v1.1' или 'v1.2'.

Во время выполнения запросы обрабатываются правильной версией с использованием псевдонима для создания экземпляра правильной версии сборки.

Это должно быть настроено. Я не знаю, как настроить Unity для достижения этой цели? Есть идеи?

1 Ответ

4 голосов
/ 06 сентября 2010

Это просто, если конфигурация выполняется с помощью файла конфигурации:

<unity>
 <containers>
  <container>
   <type type="IMyInterface" mapTo="myNamespace.MyHandler, MyAssembly, Version=1.1.0.0, Culture=neutral" name="v1.1" />
   <type type="IMyInterface" mapTo="myNamespace.MyHandler, MyAssembly, Version=1.2.0.0, Culture=neutral" name="v1.2" />
  </container
 </containers>
</unity>

А, в клиенте:

public class MyClient {
   [Dependency("v1.1")]
   public IMyInterface MyVal { get; set; }

}
...