Cant build CCA - refernce to Microsoft.Practices.CompositeUI.Windows

May 10, 2010 at 9:18 PM

I'm having trouble with the following reference. I've tried installing all sorts of things to get this to work. Any hints on what the dependency is or what I need to build to get this to work?

Error 1 The type 'Microsoft.Practices.CompositeUI.Windows.WindowShellApplication`2<T0,T1>' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Practices.CompositeUI.Windows, Version=1.0.51205.1, Culture=neutral, PublicKeyToken=64f7747366518fca'. C:\Program Files\Microsoft Uii\CCA\Source Code\AgentDesktop\Program.cs 47 13 AgentDesktop

Any help is appreciated

May 10, 2010 at 11:13 PM

CCA's shell is built with WPF,  which leverages WPFCAB under the covers... that’s the DLL your missing..
Due to various reasons we were not able to include that DLL in the actual Installers for UII.

You can find the steps to create the necessary file in the CCA Doc's.. with the default install its in ..\Microsoft Uii\CCA\Documentation\CCA Deployment Guide.chm
the section your looking for is WPF CAB Integration.
Once you have done this once.. you will not need to do it again, you just need to build your own copy of the file.

In case you cant find it in the docs... here is the page/procedure:

 >>>>

The CCA leverages Microsoft User Interface Integration for Dynamics CRM (UII) for messaging, visual containment, application loading, state management, and so on. This capability is provided by the AIF component built on the Pattern & Practices Composite UI Application Block (CAB). While CAB is designed for Winform based applications, WPF scenarios can be implemented by integrating the WPFCAB libraries available from CodePlex. CCA demonstrates the usage of WPFCAB.

To integrate WPF CAB

  1. Download the WPFCAB Source Code from CodePlex.
  2. Extract the contents of the compressed file to a folder (For example, C:\WPFCAB Source\).
  3. Open the CompositeUI solution file from the WPFCAB source code folder.
  4. Expand the CompositeUI.Windows project.
  5. In the References folder of the project, remove the references for CompositeUI and ObjectBuilder.
  6. Right-click the References folder, and add select Add Reference.
  7. Select the Browse tab, and select the files Microsoft.UII.Practices.CompositeUI.dll and Microsoft.UII.Practices.ObjectBuilder.dll from the folder <InstallDir>/Framework.
  8. From the WorkSpaces folder of the project, open the ZoneWorkspace.cs file.
  9. Comment the following method.
     
    void IComposableWorkspace<FrameworkElement, ZoneSmartPartInfo>.RaiseSmartPartActivating(WorkspaceCancelEventArgs e)
    {
    OnSmartPartActivating(e);}
    
  10. Change the return types of the following methods from bool to void.

    Method

    Edited Method

    public bool Activate(object smartPart)

    {

    return _composer.Activate(smartPart);

    }

    public void Activate(object smartPart)

    {

    _composer.Activate(smartPart);

    }

    public bool Show(object smartPart, ISmartPartInfo smartPartInfo)

    {

    return _composer.Show(smartPart, smartPartInfo);

    }

    public void Show(object smartPart, ISmartPartInfo smartPartInfo)

    {

    _composer.Show(smartPart, smartPartInfo);

    }

    public bool Show(object smartPart)

    {

    return _composer.Show(smartPart);

    }

    public void Show(object smartPart)

    {

    _composer.Show(smartPart);

    }

  11. Repeat the above steps 9 and 10 for the files DeckWorkspace.cs and TabWorkspace.cs.
  12. Compile the CompositeUI.Windows solution. The build process creates a DLL file Microsoft.Practices.CompositeUI.Windows.dll in the build output folder.
  13. Copy the DLL file to UII framework folder C:\Program Files\Microsoft Uii\Framework.
  14. Compile the IAD project.
  15. Copy Microsoft.Practices.CompositeUI.Windows.dll to the framework folder C:\Program Files x (86)\Microsoft Uii\Framework for 64-bit machine. This is a modified version of the WPFCAB assembly.
May 11, 2010 at 5:44 PM

I have followed the above steps and am not able to build because of the following...

Error 1 'Microsoft.Practices.CompositeUI.Windows.Workspaces.ZoneWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.ZoneWorkspace.Show(object)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\ZoneWorkspace.cs 18 15 CompositeUI.Windows

Error 2 'Microsoft.Practices.CompositeUI.Windows.Workspaces.ZoneWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.ZoneWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\ZoneWorkspace.cs 18 15 CompositeUI.Windows

Error 3 'Microsoft.Practices.CompositeUI.Windows.Workspaces.ZoneWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Activate(object)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.ZoneWorkspace.Activate(object)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Activate(object)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\ZoneWorkspace.cs 18 15 CompositeUI.Windows

Error 4 'Microsoft.Practices.CompositeUI.Windows.Workspaces.DeckWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.DeckWorkspace.Show(object)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\DeckWorkspace.cs 20 15 CompositeUI.Windows

Error 5 'Microsoft.Practices.CompositeUI.Windows.Workspaces.DeckWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.DeckWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\DeckWorkspace.cs 20 15 CompositeUI.Windows

Error 6 'Microsoft.Practices.CompositeUI.Windows.Workspaces.DeckWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Activate(object)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.DeckWorkspace.Activate(object)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Activate(object)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\DeckWorkspace.cs 20 15 CompositeUI.Windows

Error 7 'Microsoft.Practices.CompositeUI.Windows.Workspaces.TabWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.TabWorkspace.Show(object)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\TabWorkspace.cs 20 15 CompositeUI.Windows

Error 8 'Microsoft.Practices.CompositeUI.Windows.Workspaces.TabWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.TabWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Show(object, Microsoft.Practices.CompositeUI.SmartParts.ISmartPartInfo)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\TabWorkspace.cs 20 15 CompositeUI.Windows

Error 9 'Microsoft.Practices.CompositeUI.Windows.Workspaces.TabWorkspace' does not implement interface member 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Activate(object)'. 'Microsoft.Practices.CompositeUI.Windows.Workspaces.TabWorkspace.Activate(object)' cannot implement 'Microsoft.Practices.CompositeUI.SmartParts.IWorkspace.Activate(object)' because it does not have the matching return type of 'void'. C:\Documents and Settings\vijdos\My Documents\Downloads\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\Workspaces\TabWorkspace.cs 20 15 CompositeUI.Windows

May 11, 2010 at 7:26 PM

Looks like you didnt do all the files.

  • Repeat the above steps 9 and 10 for the files DeckWorkspace.cs and TabWorkspace.cs.

    3 files affected

    1. ZoneWorkspace.cs
    2. DeckWorkspace.cs
    3. TabWorkspace.cs

     

  • May 11, 2010 at 8:23 PM

    Yes, I have updated all three files. Is there perhaps a diference in the 64 vs. 32 bit build of UII that could be causing this?

    May 11, 2010 at 8:25 PM

    I got it to work... Just did a rebuild all.

    Jul 21, 2010 at 11:38 AM

    Someone could help me :(

    am looking for Microsoft.UII.Practices.CompositeUI.dll and Microsoft.UII.Practices.ObjectBuilder.dll

    Jul 21, 2010 at 11:51 AM

    I tried to follow the 7th step for integrating WPF CAB in the Microsoft Dynamics CRM  Deployment Guide, but I did not found the required dll.

    Thnx in advance.

     

    Jul 25, 2010 at 4:40 AM

    Did you install UII from MSDN ? the Framework directory, referred to in Step 7 is installed with UII.

    MattB-MSFT

    Jun 23, 2011 at 7:33 AM

    Just a note for people using CCA R2. It's basically an addition to Matts second post

     

    You'll need to change the target framework version of the CompositeUI.Windows to be framework 4.0. After doing so you'll also need to remove the references to PresentationCore, PresentationFramework, UIAutomationProvider, and WindowsBase and add the respective 4.0 versions. They can be found in this folder:

    %windir%\Microsoft.NET\Framework\v4.0.30319\WPF

    Everything else works as Matt posted.

    Jun 23, 2011 at 12:00 PM

    You do not need to remove and replace PresentationCore, PresentationFramework, UIAutomationProvider, and WindowsBase.   You just need to set the “use specific version” property of each of those references to false. That will pick up the 4.0 versions.   Save you a few steps :)

    Mattb-msft.

    Jun 23, 2011 at 3:17 PM

    Thanks for the info Matt. Good to know for future reference.

    I already replaced them anyway this time and it works so I'll just leave it as it is.

    Oct 18, 2011 at 10:10 AM

     Hi Matts, I have setup test environment for CCA installation over MS CRM 2011.I installed UII and while adding the same into Composite.WinodowsUI ->references,it shows 'Microsoft.Uii.Practices.CompositeUI' and 'Microsoft.Uii.Practices.ObjectBuilder' as object missing .but i have added it into reference from %windir%\Microsoft.NET\Framework\v4.0.30319\WPF folder.Still its shows the error on build also.!

    Quick help is really appreciatable.!!

    Thanks in advance.

    Regards,

    Sibi

    Jan 16, 2012 at 4:06 PM

    Hi,

    im using CCA R2 install for MS CRM 2011 too. When trying to compile CompositeUI.Windows.dll, i keep getting following error:

    Error 7 Could not load referenced assembly "...\WPFCAB\BankTellerModule\bin\Debug\BankTellerModule.dll".  Caught a FileNotFoundException ...

    Help is highly appreciated!

    Regards, advin

    

    Jan 24, 2012 at 1:02 PM

    Did you get this sorted out?

    If not, You want to read though the section of the UII Deployment guide on Building the WPF Cab components.   You don’t need the sample bits, which is where your linking issue is coming from.

    Mattb-msft

    Apr 6, 2012 at 5:44 AM
    Edited Apr 6, 2012 at 6:04 AM

    Thanks.......

    Jul 9, 2012 at 11:21 PM

    I'm getting three major errors when I rebuild...help?

    Error 11 'IComposableWorkspace<...>.RaiseSmartPartActivating' in explicit interface declaration is not a member of interface C:\Users\WP1\Desktop\WPFCAB Source\CompositeUI.Windows\Workspaces\ZoneWorkspace.cs 119 14 CompositeUI.Windows

    Error 12 'IComposableWorkspace<...>.RaiseSmartPartActivating' in explicit interface declaration is not a member of interface C:\Users\WP1\Desktop\WPFCAB Source\CompositeUI.Windows\Workspaces\TabWorkspace.cs 135 8 CompositeUI.Windows

    Error 13 'IComposableWorkspace<...>.RaiseSmartPartActivating' in explicit interface declaration is not a member of interface C:\Users\WP1\Desktop\WPFCAB Source\CompositeUI.Windows\Workspaces\DeckWorkspace.cs 135 8 CompositeUI.Windows

    May 9, 2013 at 10:00 AM
    Error 2 The type 'Microsoft.Practices.CompositeUI.CabShellApplication`2<T0,T1>' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Practices.CompositeUI, Version=1.0.51205.1, Culture=neutral, PublicKeyToken=64f7747366518fca'. C:\Program Files (x86)\Microsoft Uii\CCA\Source Code\AgentDesktop\Program.cs

    Error 1 The type 'Microsoft.Practices.CompositeUI.WorkItem' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Practices.CompositeUI, Version=1.0.51205.1, Culture=neutral, PublicKeyToken=64f7747366518fca'. C:\Program Files (x86)\Microsoft Uii\CCA\Source Code\AgentDesktop\Program.cs

    Anyone can help me?
    Sep 13, 2013 at 6:47 PM
    Edited Sep 13, 2013 at 6:48 PM
    PLEASE I REALLY NEED HELP ON THIS

    Error 1 Metadata file 'C:\Program Files (x86)\WPF_CAB_source_1.0.51205.1_2\BankTellerModule\bin\Debug\BankTellerModule.dll' could not be found CustomerMapExtensionModule

    Error 5 The tag 'DeckWorkspace' does not exist in XML namespace 'http://schemas.microsoft.com/cab/wpf'. Line 40 Position 5. C:\Program Files (x86)\WPF_CAB_source_1.0.51205.1_2\BankShell\BankShellWindow.xaml 40 5 BankShell

    Error 2 The tag 'SmartPartPlaceholder' does not exist in XML namespace 'clr-namespace:Microsoft.Practices.CompositeUI.Windows;assembly=Microsoft.Practices.CompositeUI.Windows'. Line 17 Position 4. C:\Program Files (x86)\WPF_CAB_source_1.0.51205.1_2\BankTellerModule\WorkItems\BankTeller\SideBarView.xaml 17 4 BankTellerModule

    Error 3 The tag 'TabWorkspace' does not exist in XML namespace 'clr-namespace:Microsoft.Practices.CompositeUI.Windows.Workspaces;assembly=Microsoft.Practices.CompositeUI.Windows'. Line 18 Position 4. C:\Program Files (x86)\WPF_CAB_source_1.0.51205.1_2\BankTellerModule\WorkItems\Customer\CustomerSummaryView.xaml 18 4 BankTellerModule

    Error 4 The type reference cannot find a public type named 'TabWorkspace'. Line 121 Position 49. C:\Program Files (x86)\WPF_CAB_source_1.0.51205.1_2\BankShell\App.xaml 121 49 BankShell
    Sep 17, 2013 at 2:44 PM
    Are you trying to Build the Microsoft.Practices.CompositeUI.Windows.dll ??

    Try this compiled version: http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-16-33-41/Microsoft.Practices.CompositeUI.Windows.dll.zip

    hth
    Sep 17, 2013 at 4:05 PM

    Hello Ndi,

    Please this are warning messages I get when I first of all load the application without modifying the source code. Please can I have a completed version I can work with. I really need your

    Assistance on the Integration with LYNC and CRM 2011 on Premise Installation.

    Warning 1 The using directive for 'System.Collections.Generic' appeared previously in this namespace C:\Program Files (x86)\WPFCAB\BankTellerModule\WorkItems\BankTeller\CustomerQueueView.xaml.cs 17 7 BankTellerModule

    Warning 2 The using directive for 'System.Collections.Generic' appeared previously in this namespace C:\Program Files (x86)\WPFCAB\BankTellerModule\WorkItems\BankTeller\CustomerQueueView.xaml.cs 17 7 BankTellerModule

    Warning 3 Field 'BankTellerModule.CustomerWorkItem.addressLabel' is never assigned to, and will always have its default value null C:\Program Files (x86)\WPFCAB\BankTellerModule\WorkItems\Customer\CustomerWorkItem.cs 38 17 BankTellerModule

    Warning 4 Field 'BankTellerModule.CustomerWorkItem.addressLabel' is never assigned to, and will always have its default value null C:\Program Files (x86)\WPFCAB\BankTellerModule\WorkItems\Customer\CustomerWorkItem.cs 38 17 BankTellerModule

    NB:This warnings later become errors when I have done all the configurations and modifications.

    Regards