Tak jak @charleh powiedział, AllTypes
został zastąpiony przez Classes
, więc naprawienie tego problemu jest prostym znalezieniem i zamianą.
Właściwie jeśli spojrzeć na kompilatora ostrzegawczy powinien powiedzieć:
'AllTypes' has been deprecated and will be removed in future releases. Use 'Classes' static class (if you want to just register concrete classes) or 'Types' static class (if you want to register interfaces or abstract classes too) instead. It exposes exactly the same methods.
Powodem tej zmiany było to, że AllTypes
było kłamstwo - to było dopasowane tylko betonowe (non-streszczenie) zajęcia, więc Classes
jest o wiele lepsza nazwa, która lepiej powie Ci, co naprawdę robi.
Co do drugiego problemu, zmieniając połączenie właściwości do wywołania metody będzie to naprawić:
Container.Register(
Classes.FromAssemblyNamed(a)
.Pick().WithServiceFirstInterface()
.Configure(o => o.LifestylePerWebRequest()));
Or prostsze jeszcze, omijając Configure
:
Container.Register(
Classes.FromAssemblyNamed(a)
.Pick().WithServiceFirstInterface()
.LifestylePerWebRequest());
Niewiele osób wie, ale Windsor rzeczywiście dostarczany z plikiem BreakingChanges.txt
, który opisuje łamanie zmian i sposób aktualizacji.