Prism.Container.Extensions

The Prism Container Extensions provide various additional extensions making the Prism Container easier to use with IServiceCollection/IServiceProvider and in scenarios where you may require a Singleton container that may need to be initialized from Platform specific code prior to PrismApplication being created. Note that both the Prism.Container.Extensions and Prism.DryIoc.Extensions are platform agnostic meaning you can use them on WPF or Xamarin Forms.

Support

This project is maintained by Dan Siegel. If this project or others maintained by Dan have helped you please help support the project by sponsoring Dan on GitHub!

GitHub Sponsors

Why use the Container Extensions?

While the Container abstractions provided by IContainerRegistry will give you what you need at least 95% of the time, there are still a number of times that you need to be able to do some more advanced registrations for your services. While adding these additional methods may confuse the average developer who is still struggling to understand "What is a Transient, what is a Singleton, when do I use each?". The extensions give you exactly what you need in order to write extremely loosely coupled code that can be reused from one project to another regardless of whether you are developing for Prism for WPF, Prism for Xamarin.Forms or just doing your own thing with Prism.Core.

NuGet

Package NuGet MyGet
Prism.Container.Extensions Latest NuGet Latest CI Package
Prism.Forms.Extended Latest NuGet Latest CI Package
Prism.DryIoc.Extensions Latest NuGet Latest CI Package
Prism.Microsoft.DependencyInjection.Extensions Latest NuGet Latest CI Package
Prism.Unity.Extensions Latest NuGet Latest CI Package
Shiny.Prism Latest NuGet Latest CI Package

CI NuGet Feed

Want to consume the CI packages? You can add this as a NuGet.config in your project root and Visual Studio will automatically pick up the configuration to provide packages from the CI Feed. Note that packages from this feed have passed all of the tests, but may have code that is still unstable.

<configuration>
  <packageSources>
    <clear />
    <add key="PrismPlugins-MyGet" value="https://www.myget.org/F/prism-plugins/api/v3/index.json" />
    <add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>