Skip to content

Commit

Permalink
Merge pull request PrismLibrary#943 from mfe-/master
Browse files Browse the repository at this point in the history
Handle file activation and init boostraping
  • Loading branch information
bartlannoeye authored Feb 19, 2017
2 parents ff7898b + 7d5ad84 commit 520b034
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 88 deletions.
11 changes: 11 additions & 0 deletions Source/Windows10/Prism.Windows/PrismApplication.cs
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,17 @@ protected virtual object Resolve(Type type)
return Activator.CreateInstance(type);
}

/// <summary>
/// OnFileActivated is the entry point for an applicatoin when it is launched and the ActivationKind is File.
/// Call <see cref="OnActivated"/> to bootstrap the prism application.
/// </summary>
/// <param name="args">Event data for the event.</param>
protected override void OnFileActivated(FileActivatedEventArgs args)
{
base.OnFileActivated(args);
OnActivated(args);
}

/// <summary>
/// OnActivated is the entry point for an application when it is launched via
/// means other normal user interaction. This includes Voice Commands, URI activation,
Expand Down
176 changes: 88 additions & 88 deletions docs/NuGet-Packages.md
Original file line number Diff line number Diff line change
@@ -1,88 +1,88 @@
#NuGet Packages
### Core Packages

These are the base packages for each platform, together with the Prism's Core assembly as a cross-platform PCL.

| Platform | Assembly | Package | Version |
| -------- | -------- | ------- | ------- |
| PCL | Prism.dll | [Prism.Core][1] | [![Prism.Core badge](https://img.shields.io/nuget/vpre/Prism.Core.svg)][1] |
| WPF | Prism.Wpf.dll | [Prism.Wpf][2] | [![Prism.WPF badge](https://img.shields.io/nuget/vpre/Prism.Wpf.svg)][2] |
| Xamarin.Forms | Prism.Forms.dll | [Prism.Forms][3] | [![Prism.Forms badge](https://img.shields.io/nuget/vpre/Prism.Forms.svg)][3] |
| Windows 10 UWP | Prism.Windows.dll | [Prism.Windows][4] | [![Prism.Windows badge](https://img.shields.io/nuget/vpre/Prism.Windows.svg)][4] |

### Container-specific packages

Each supported IoC container has its own package assisting in the setup and usage of that container together with Prism. The assembly is named using this convention: Prism.*Container.Platform*.dll, e.g. **Prism.Unity.Wpf.dll**.

Following matrix shows the platform specific support currently available.

| Package | Version | WPF | Win10 UWP | Xamarin.Forms |
|------------------------|------------|:---:|:---:|:---:|
| [Prism.Autofac][7] <sup>(*)</sup> | [![Prism.Autofac badge](https://img.shields.io/nuget/vpre/Prism.Autofac.svg)][7] | X | X | &darr; |
| [Prism.Autofac.Forms][12] | [![Prism.Autofac.Forms badge](https://img.shields.io/nuget/vpre/Prism.Autofac.Forms.svg)][12] | - | - | X |
| [Prism.DryIoc.Forms][13] | [![Prism.DryIoc.Forms badge](https://img.shields.io/nuget/vpre/Prism.DryIoc.Forms.svg)][13] | - | - | X |
| [Prism.Mef][6] <sup>(**)</sup> | [![Prism.Mef badge](https://img.shields.io/nuget/vpre/Prism.Mef.svg)][6] | X | - | - |
| [Prism.Ninject][9] <sup>(*)</sup> | [![Prism.Ninject badge](https://img.shields.io/nuget/vpre/Prism.Ninject.svg)][9] | X | | &darr; |
| [Prism.Ninject.Forms][11]| [![Prism.Ninject.Forms badge](https://img.shields.io/nuget/vpre/Prism.Ninject.Forms.svg)][11]| - | - | X |
| [Prism.StructureMap][8]| [![Prism.StructureMap badge](https://img.shields.io/nuget/vpre/Prism.StructureMap.svg)][8] | X | | |
| [Prism.Unity][5] <sup>(*)</sup> | [![Prism.Unity badge](https://img.shields.io/nuget/vpre/Prism.Unity.svg)][5] | X | X | &darr; |
| [Prism.Unity.Forms][10]| [![Prism.Unity.Forms badge](https://img.shields.io/nuget/vpre/Prism.Unity.Forms.svg)][10]| - | - | X |


<sup>(*)</sup> As Xamarin Forms also supports UWP now, adding Prism.Unity, Prism.Ninject, or Prism.Autofac puts in some incorrect dependencies. Therefore we created a new package for Xamarin Forms projects.

<sup>(**)</sup> MEF is supported with WPF for compatibility with previous versions. It will not be added to Windows 10 UWP or Xamarin Forms.

Note that adding the container-specific package to your project, will also pull in the correct platform-specific package and the core PCL library. E.g. when you'd like to use Unity in a WPF project, add the Prism.Unity package and the rest will be pulled in as well.

![NuGet package tree](images/NuGetPackageTree.png)

### Overview of assemblies

To recapitulate the packages described above, this is the list of all assemblies added to your solution by Prism 6 depending on the container and platform used.

####Prism PCL
| Assembly | Package |
| -------- | ------- |
| Prism.dll | [Prism.Core][1] |

####WPF
| Assembly | Package |
| -------- | ------- |
| Prism.Wpf.dll | [Prism.Wpf][2] |
| Prism.Unity.Wpf.dll | [Prism.Unity][5] |
| Prism.Mef.Wpf.dll | [Prism.Mef][6] |
| Prism.Autofac.Wpf.dll | [Prism.Autofac][7] |
| Prism.StructureMap.Wpf.dll | [Prism.StructureMap][8] |
| Prism.Ninject.Wpf.dll | [Prism.Ninject][9] |

####Xamarin.Forms
| Assembly | Package |
| -------- | ------- |
| Prism.Forms.dll | [Prism.Forms][3] |
| Prism.Unity.Forms.dll | [Prism.Unity.Forms][10] |
| Prism.Ninject.Forms.dll | [Prism.Ninject.Forms][11] |
| Prism.Autofac.Forms.dll | [Prism.Autofac.Forms][11] |
| Prism.DryIoc.Forms.dll | [Prism.DryIoc.Forms][11] |

####Universal Windows Platform
| Assembly | Package |
| -------- | ------- |
| Prism.Windows.dll | [Prism.Windows][4] |
| Prism.Unity.Windows.dll | [Prism.Unity][5] |
| Prism.Autofac.Windows.dll | [Prism.Autofac][7] |


[1]: https://www.nuget.org/packages/Prism.Core/
[2]: https://www.nuget.org/packages/Prism.Wpf/
[3]: https://www.nuget.org/packages/Prism.Forms/
[4]: https://www.nuget.org/packages/Prism.Windows/
[5]: https://www.nuget.org/packages/Prism.Unity/
[6]: https://www.nuget.org/packages/Prism.Mef/
[7]: https://www.nuget.org/packages/Prism.Autofac/
[8]: https://www.nuget.org/packages/Prism.StructureMap/
[9]: https://www.nuget.org/packages/Prism.Ninject/
[10]: https://www.nuget.org/packages/Prism.Unity.Forms/
[11]: https://www.nuget.org/packages/Prism.Ninject.Forms/
[12]: https://www.nuget.org/packages/Prism.Autofac.Forms/
[13]: https://www.nuget.org/packages/Prism.DryIoc.Forms/
#NuGet Packages
### Core Packages

These are the base packages for each platform, together with the Prism's Core assembly as a cross-platform PCL.

| Platform | Assembly | Package | Version |
| -------- | -------- | ------- | ------- |
| PCL | Prism.dll | [Prism.Core][1] | [![Prism.Core badge](https://img.shields.io/nuget/vpre/Prism.Core.svg)][1] |
| WPF | Prism.Wpf.dll | [Prism.Wpf][2] | [![Prism.WPF badge](https://img.shields.io/nuget/vpre/Prism.Wpf.svg)][2] |
| Xamarin.Forms | Prism.Forms.dll | [Prism.Forms][3] | [![Prism.Forms badge](https://img.shields.io/nuget/vpre/Prism.Forms.svg)][3] |
| Windows 10 UWP | Prism.Windows.dll | [Prism.Windows][4] | [![Prism.Windows badge](https://img.shields.io/nuget/vpre/Prism.Windows.svg)][4] |

### Container-specific packages

Each supported IoC container has its own package assisting in the setup and usage of that container together with Prism. The assembly is named using this convention: Prism.*Container.Platform*.dll, e.g. **Prism.Unity.Wpf.dll**.

Following matrix shows the platform specific support currently available.

| Package | Version | WPF | Win10 UWP | Xamarin.Forms |
|------------------------|------------|:---:|:---:|:---:|
| [Prism.Autofac][7] <sup>(*)</sup> | [![Prism.Autofac badge](https://img.shields.io/nuget/vpre/Prism.Autofac.svg)][7] | X | X | &darr; |
| [Prism.Autofac.Forms][12] | [![Prism.Autofac.Forms badge](https://img.shields.io/nuget/vpre/Prism.Autofac.Forms.svg)][12] | - | - | X |
| [Prism.DryIoc.Forms][13] | [![Prism.DryIoc.Forms badge](https://img.shields.io/nuget/vpre/Prism.DryIoc.Forms.svg)][13] | - | - | X |
| [Prism.Mef][6] <sup>(**)</sup> | [![Prism.Mef badge](https://img.shields.io/nuget/vpre/Prism.Mef.svg)][6] | X | - | - |
| [Prism.Ninject][9] <sup>(*)</sup> | [![Prism.Ninject badge](https://img.shields.io/nuget/vpre/Prism.Ninject.svg)][9] | X | | &darr; |
| [Prism.Ninject.Forms][11]| [![Prism.Ninject.Forms badge](https://img.shields.io/nuget/vpre/Prism.Ninject.Forms.svg)][11]| - | - | X |
| [Prism.StructureMap][8]| [![Prism.StructureMap badge](https://img.shields.io/nuget/vpre/Prism.StructureMap.svg)][8] | X | | |
| [Prism.Unity][5] <sup>(*)</sup> | [![Prism.Unity badge](https://img.shields.io/nuget/vpre/Prism.Unity.svg)][5] | X | X | &darr; |
| [Prism.Unity.Forms][10]| [![Prism.Unity.Forms badge](https://img.shields.io/nuget/vpre/Prism.Unity.Forms.svg)][10]| - | - | X |


<sup>(*)</sup> As Xamarin Forms also supports UWP now, adding Prism.Unity, Prism.Ninject, or Prism.Autofac puts in some incorrect dependencies. Therefore we created a new package for Xamarin Forms projects.

<sup>(**)</sup> MEF is supported with WPF for compatibility with previous versions. It will not be added to Windows 10 UWP or Xamarin Forms.

Note that adding the container-specific package to your project, will also pull in the correct platform-specific package and the core PCL library. E.g. when you'd like to use Unity in a WPF project, add the Prism.Unity package and the rest will be pulled in as well.

![NuGet package tree](images/NuGetPackageTree.png)

### Overview of assemblies

To recapitulate the packages described above, this is the list of all assemblies added to your solution by Prism 6 depending on the container and platform used.

####Prism PCL
| Assembly | Package |
| -------- | ------- |
| Prism.dll | [Prism.Core][1] |

####WPF
| Assembly | Package |
| -------- | ------- |
| Prism.Wpf.dll | [Prism.Wpf][2] |
| Prism.Unity.Wpf.dll | [Prism.Unity][5] |
| Prism.Mef.Wpf.dll | [Prism.Mef][6] |
| Prism.Autofac.Wpf.dll | [Prism.Autofac][7] |
| Prism.StructureMap.Wpf.dll | [Prism.StructureMap][8] |
| Prism.Ninject.Wpf.dll | [Prism.Ninject][9] |

####Xamarin.Forms
| Assembly | Package |
| -------- | ------- |
| Prism.Forms.dll | [Prism.Forms][3] |
| Prism.Unity.Forms.dll | [Prism.Unity.Forms][10] |
| Prism.Ninject.Forms.dll | [Prism.Ninject.Forms][11] |
| Prism.Autofac.Forms.dll | [Prism.Autofac.Forms][11] |
| Prism.DryIoc.Forms.dll | [Prism.DryIoc.Forms][11] |

####Universal Windows Platform
| Assembly | Package |
| -------- | ------- |
| Prism.Windows.dll | [Prism.Windows][4] |
| Prism.Unity.Windows.dll | [Prism.Unity][5] |
| Prism.Autofac.Windows.dll | [Prism.Autofac][7] |


[1]: https://www.nuget.org/packages/Prism.Core/
[2]: https://www.nuget.org/packages/Prism.Wpf/
[3]: https://www.nuget.org/packages/Prism.Forms/
[4]: https://www.nuget.org/packages/Prism.Windows/
[5]: https://www.nuget.org/packages/Prism.Unity/
[6]: https://www.nuget.org/packages/Prism.Mef/
[7]: https://www.nuget.org/packages/Prism.Autofac/
[8]: https://www.nuget.org/packages/Prism.StructureMap/
[9]: https://www.nuget.org/packages/Prism.Ninject/
[10]: https://www.nuget.org/packages/Prism.Unity.Forms/
[11]: https://www.nuget.org/packages/Prism.Ninject.Forms/
[12]: https://www.nuget.org/packages/Prism.Autofac.Forms/
[13]: https://www.nuget.org/packages/Prism.DryIoc.Forms/

0 comments on commit 520b034

Please sign in to comment.