Чем заменить IUnityContainer.Registrations.ToList()?

Недавно мне дали заявку в поддержку. Это было в MVC3 с использованием NHibernate и Unity вместе с множеством других пакетов. При обновлении до MVC5 я обновляю все пакеты до последней версии. Теперь проблема в том, что Unity удалила пару свойств/методов из IUnityContainer. Мне интересно, как мне заменить эти строки кода, чтобы мой код снова скомпилировался?

IUnityContainer.Registrations.ToList()

а также

IUnityContainer.IsRegistered(serviceType)

IUnityContainer, конечно, определяется как объект IUnityContainer, и я не пытаюсь использовать этот тип напрямую.

В сети ничего не могу найти о том, чем их заменить. Я вижу от Microsoft, что эти методы устарели, но нет причин, по которым они устарели.


person TheOriginalCole    schedule 07.04.2016    source источник


Ответы (1)


С MVC 5 я рекомендую использовать Unity 3.5. Это был стабильный выпуск, доступный с MVC 5. Вы сможете получить его с помощью приглашения Nuget.

Мне кажется, Unity 4 все еще находится в разработке, и в нем отсутствует руководство по миграции. См. здесь.

person Frédéric    schedule 08.04.2016
comment
Это сработало для меня. Интересный парадокс заключается в том, что большинство разработчиков ненавидят документацию, но хотят, чтобы другие документировали их код! - person TheOriginalCole; 08.04.2016
comment
Я должен сказать, что мне немного неудобно с Asp.Net Core и связанными с ним переходами к открытому исходному коду. Спустя год после выпуска VS 2015, несмотря на то, что эти фреймворки должны были быть выбраны для VS 2015, они по-прежнему являются RC. И в них много критических изменений, некоторые из них выглядят для меня лишними. Что касается документации, если есть что-то, что нужно документировать с релизами, это критические изменения. Довольно отталкивает отсутствие их с примечаниями к выпуску. - person Frédéric; 08.04.2016