1

Ich habe kürzlich einen Antrag auf Unterstützung erhalten. Es war in MVC3 mit NHibernate und Unity zusammen mit einer Vielzahl anderer Pakete. Beim Upgrade auf MVC5 aktualisiere ich alle Pakete auf ihre neueste Version. Das Problem besteht nun darin, dass Unity einige Eigenschaften/Methoden aus dem IUnityContainer gelöscht hat. Ich frage mich, wie ersetze ich diese Codezeilen, um meinen Code erneut kompilieren zu lassen?Was ersetze ich IUnityContainer.Registrations.ToList() mit?

IUnityContainer.Registrations.ToList() 

und

IUnityContainer.IsRegistered(serviceType) 

IUnityContainer natürlich wird als IUnityContainer Objekt definiert, und ich versuche nicht direkt den Typ zu verwenden.

Ich kann nichts online finden, über das, um diese mit zu ersetzen. Ich sehe von Microsoft, dass diese Methoden veraltet sind, aber keinen Grund, warum sie veraltet sind.

Antwort

0

Mit MVC 5 empfehle ich die Verwendung Unity 3.5. Dies war die stabile Version, die mit MVC 5 verfügbar ist. Sie sollten es mit der Nuget-Eingabeaufforderung erhalten können.

Unity 4 sieht für mich immer noch unter Arbeit aus und es fehlt ein Migrationsleitfaden. Siehe here.

+0

Das funktionierte für mich. Es ist ein interessantes Paradoxon, wie die meisten Entwickler es hassen, Dokumentation zu machen, aber andere ihren Code dokumentieren wollen! – TheOriginalCole

+0

Ich muss sagen, ich bin ein bisschen unwohl mit Asp.Net Core und verwandte Schritte zu Open-Source. Ein Jahr nach der Veröffentlichung von VS 2015, während diese Rahmen die Wahl für VS 2015 sein sollten, sind sie immer noch RC. Und sie haben viele brechende Änderungen, [einige von ihnen] (https://github.com/aspnet/Mvc/pull/3039) suchen mich überflüssig. Wenn es bei doc nur eine Sache gibt, die mit Releases zu dokumentieren ist, werden dadurch Änderungen vorgenommen. Es ist ziemlich abstoßend, sie nicht mit Releaseinformationen zu haben. –