Сначала я вижу, что ваш код не компилируется.Ваш пропущенный тип экземпляра:
...
public static ILogger Instance {get{return instance.Value;}}
...
Насколько я понимаю, вы намерены попробовать следующее в вашем классе запуска:
var container = new UnityContainer();
var logger = Logger.Instance;
container.RegisterInstance<ILogger>(logger, new ContainerControlledLifetimeManager());
container.Resolve<ILogger>
возвращает ваш экземпляр и вводит ILogger
вконструктор, и вы должны получить свой экземпляр регистратора ContainerControlledLifetimeManager
, разрешающий одноэлементный экземпляр зарегистрированного типа в области времени жизни контейнера.
Не забудьте настроить UnityContainer в качестве средства разрешения зависимостей по умолчанию в вашем проекте.