I recently started to see some very strange behavior when I try to add an UltraGrid control to an existing UserControl derived class.
Whenever I drag the UltraGrid from the toolbox and drop it on the control, VS will grind away for several seconds and then display it at the bottom of the designer window. It is not rendered on top of the UserControl. The UltraGrid did not end up a child of the UserControl class. When I tried to drag the UltraGrid control in the Document Outline window to make it a child, VS would crash.
So I asked a coworker to add the UltraGrid for me, which he was able to do without any problem. When I open it in the VS designer, the UltraGrid is a child of the UserControl, but it is still shown a the bottom of the window. I cannot launch the custom property editor for the UltraGrid.
I can add UltraGrids to a trivial test project.
We recently upgraded our projects from NetAdvantage 8.1 to 8.2. I uninstalled 8.1 shortly before this problem started. Since then, I reinstalled 8.1 but that did not help. The UltraCombo also shows this same problem.
I am using VS 2008.
Any ideas?
Larry
Turn off CopyLocal and see if that helps. Perhaps the others are just getting lucky.
You cannot have an assembly in a project set to CopyLocal and also have it in the GAC. Since all of the Infragistics assemblies are installed into the GAC by the installer, this will always be the case for the Infragistics components. When you do this, Visual Studio loads two copies of the same assembly into memory and gets confused.
Mike,
Sorry for the long delay. I had a release deadline looming and had shelve this problem. I have been limping along without being able to use Infragistics controls in the VS designer.
The projects that set CopyLocal are used by everyone else on my team without problems.
I checked for multiple copies of the "Design" assemblies as you mentioned and have not found any.
I searched all of the project files for references to the "Design" assemblies and found no use of them. The same is true for the licx files.
I have uninstalled and reinstalled Infragistics.
Any other suggestions?
Any time the grid shows up in the system tray, it's because Visual Studio is unable to find the grid designer.Setting CopyLocal to try on the assemblies can cause this kind of issue because if you set CopyLocal to try on an assembly that also exists in the GAC, VS gets confused about which one to use - and it ends up using both and loading two versions of the same assembly into memory.
Another potential reason this might happen is if your project is referencing the design assembly. Make sure there are no references in any of the projects in your solution to the Infragistics2.Win.Design or Infragistics2.Win.UltraWinGrid.Design assemblies. Be sure to check all of the projects in the solution. You might also want to check in the bin folders of each project and make sure there are not local copies of either of these assemblies in those folders.
I would also try clearing out the contents of the licx file in your projects in case that is referencing the design assemblies.
Thanks for clarify the design-time assemblies issue.
I tried your suggestion to repair Visual Studio and it did not make any difference. I will try to figure out what is different on my coworkers' systems from mine.
I've just found out that some of the information I've provided on design assemblies is a bit dated. We removed some (though not all) of these separate design-time assemblies some time ago. For WinGrid in particular, its separate design-time assembly was removed back in 2007 Volume 1.
So, while what I've written would still be applicable to the general scenario when there's a design-time assembly invvolved, that's probably not the cause of your particular situation.