Prism dependencies on Signed/Strong Named libraries

Topics: Prism v2 - WPF 3.5, Prism v2 - WPF 4
Aug 28, 2010 at 2:47 AM

In previous versions of Prism/CAL we were able to use locally built versions of Unity, Service Locator and CAL.  Looks like with the newer version of Prism we need to use a specific strong named version of Unity.  Even though we are using the supplied Unity 2.0 source code it looks like the service locator supplied with Prism is dependent on a specific version of Unity.  Our bootstrapper pukes when trying to resolve RegionBehaviorFactory(IServiceLocator serviceLocator) during construction of SelectorRegionAdapter.  I am not that familiar with signed assemblies besides why they are used.  Is there any way to remove this dependency?  To the best of my knowledge we are using the correct version of unity, but we are building it locally vs using the DLLs MS provides with their unity msi.

Thanks for any responses.
Dave Wendland

Sep 15, 2010 at 9:49 PM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.
Sep 15, 2010 at 9:51 PM

Hi Dave,

In the latests drops of Prism we are including the compiled assemblies of Unity and Service Locator. In our code, we reference those strong named libraries. Therefore if you use non-signed assemblies the references won't work.

If you want to use your own compiled assemblies, you can download Unity's source code from here. Compile the source code, remove the original references, and add new references to your compiled assemblies. In this way the Strong Name property of the reference will be set to False and you will be able to use the assembly.

I will create a work item for this, so the community can vote if they want this feature to be in future Prism drops.

Hope this helps,

Diego