View previous topic :: View next topic |
Author |
Message |
tkohler@1eeurope.ch
Joined: 27 Apr 2006 Posts: 3
|
Posted: Mon Jun 11, 2007 10:14 am Post subject: Designer doesn't show virtual tree control |
|
|
If I bind to manually compiled assemblies of the virutal tree control in my own directory (not the one in the GAC) (Version 3.5) the designer doesn't show the control in the form. It inserts the control as a component with no GUI. What am I doing wrong?[/img] |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Mon Jun 11, 2007 10:42 pm Post subject: |
|
|
This can happen if Visual Studio is unable to load the assembly containing the designer specified for the control. There are a couple of possibilities why this may be occurring.
1. The Infralution.Controls.VirtualTree.Design assembly may not be registered in the GAC. The source code that we provide uses a different strong name key to our released binaries. This means it is possible to have both the released assemblies and your compiled assemblies registered in the GAC simultaneously. If you open the solution in the Infralution.Controls.VirtualTree.Design project directory and Rebuild the solution this should compile the design assemblies (as well as everything else) and register all assemblies in the GAC. The assemblies you compile should have the following public key token (47f1d8dad4968fdb). The released binaries have the token (3e7e8e3744a5c13f). Check that the assemblies have been registered correctly by opening the GAC in windows explorer.
2. The second possibility is that the source code is not referencing the correct design assembly. I've double checked that as shipped it is correct - but if you've changed the strong name or version for the assemblies then this may have been messed up. The details of the design assemblies are defined in the DesignAssembly.cs class files of both the Infralution.Controls.VirtualTree project and the Infralution.Controls project. Check that this matches your assembly details. The conditional CHECK_LICENSE statement should be false. _________________ Infralution Support |
|
Back to top |
|
|
tkohler@1eeurope.ch
Joined: 27 Apr 2006 Posts: 3
|
Posted: Tue Jun 12, 2007 1:08 pm Post subject: |
|
|
I think I wasn't clear in what my goal is. I would like to distribute the VirtualTree control in the same directory as my application. This means that I wont distribute it to the GAC of my client machines. So I compiled the source with CHECK_LICENSE and CHECK_PUBLIC_KEY removed. I removed all .snk, .licx files and removed the post build event on all projects. With this configuration I tried to reference my newly built assemblies placed in a separate directory. The designer toolbox does show the VirtualTree control but doesn't "paint" anything on to the form. |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Tue Jun 12, 2007 10:21 pm Post subject: |
|
|
You can distribute the released (or source code compiled) version of the Virtual Tree assemblies without having to install them in the GAC. Installation in the GAC is only required for design time support. Simply copy the following assemblies to the application directory:
Infralution.Common.dll
Infralution.RichText.dll
Infralution.Controls.dll
Infralution.Controls.VirtualTree.dll
The design assemblies (Infralution.Controls.Design.dll and the Infralution.Controls.VirtualTree.dll) are not required at runtime by the application and should not be distributed.
The design assemblies MUST be registered in the GAC for the controls to behave correctly within the Visual Studio designer. For this they need to be strong named (using .snk files) and the post build event must be present.
I would also strongly recommend keeping the strong names for the other assemblies. Removing the strong name does not give you any real advantage and makes your software less secure. _________________ Infralution Support |
|
Back to top |
|
|
|