Для всех, кто заходит на эту страницу, в нашем случае SimpleInjector был автоматически обновлен с 3.1.1 до 4.3.0, потому что другой пакет зависел от более новой версии, что сломало наше приложение MVC5 с
XXXController зарегистрирован как временный, но реализует IDisposable
После некоторых исследований я понял, что хотя SimpleInjector был обновлен, ни один из других связанных пакетов ( SimpleInjector.Integration.Web , SimpleInjector.Integration.Web.Mvc и т. Д.). Я обновил их, а также должен был изменить все экземпляры
container.RegisterPerWebRequest<T>(...)
до
container.Register<T>(..., Lifestyle.Scoped)
После этого все снова заработало.
P.S. Если вы заметили, что другой пакет не должен зависеть от SimpleInjector, вы абсолютно правы. Это был пакет внутреннего производства, в который как-то случайно была добавлена зависимость. Мы удалили его, но подумали, что было бы неплохо получить последнюю версию пакета SI.