Description
Wingman has been split into three packages for ease of use:
- Wingman.DI (dependency injection)
- Wingman.Services (general-purpose services)
- Wingman.WPF (Caliburn.Micro support)
You can install the main package, Wingman, which will install all of the above.
Wingman.Services has a new DataService
addition, which will save data files to %AppData% on Windows machines. You can configure the service to save to other directories, or even a database - it is completely modular. This still needs some work.
Some breaking API changes have been introduced - in particular, a new pattern of service creation has been introduced. For example, the DependencyContainerFactory.Create()
method now returns a DependencyContainerCreation
, which contains properties for each dependency container interface, rather than one type implementing all of the interfaces. This is as a result of splitting the interface implementation across multiple classes.
Mainly, the dependency injection part of the library has been reworked, with a custom implementation. Both the ServiceFactory and DependencyContainer now share the same dependency injection codebase. Thus, the DI package no longer depends on Caliburn.Micro.
Finally, Wingman.DI and Wingman.Services now support netstandard2.0
, netcoreapp2.0
, and netcoreapp2.2
. This isn't tested or confirmed, however the code compiles for these platforms and can be installed. As a result, Mono is also supported. Let me know if there are any fixes required on these new platforms!