Search code examples
c#visual-studio-2010syncfusion

Why does the Syncfusion GridControl cause a StackOverflowException in the ComponentResourceManager's GetX methods?


I know that this is a very specific question and that the behavior I am going to describe is hard to reproduce, but maybe someone has stumbled upon a similar issue.

I have two Visual Studio projects, Base and Derived. Within Base I created the UserControl inheritor BaseUserControl and add a Syncfusion (Version 9.403.0.62) GridControl and an ImageList containing some images to it. Then in Derived I derive a DerivedUserControl from BaseUserControl. When I now try to open the visual designer, Visual Studio 2010 crashes. If I attach the debugger from a second Visual Studio instance to the one I use to open the designer, I see a StackOverflowException occuring in the InitializeComponent method of BaseUserControl. It is thrown when the ComponentResourceManager's GetObject method is called to load the first image of the ImageList.

Without the Syncfusion GridControl everything works fine and I can't observe this issue with Visual Studio 2008 either. It is reproduceable on every machine within our company. We use Windows XP SP3 and .NET 3.5.

I cannot make out a direct connection from the GridControl to ComponentResourceManager and hence the StackOverflowExcpetion. Maybe someone can make me see what I am missing here.


Solution

  • A sample is created with two Base/Derived projects which includes a GridControl and an ImageList. Some *.png images are attached into the ImageList. The reference has been given as mentioned in your query. I am afraid that I am unable to replicate the Vs2010 crash through this way. The designer of the Derivedproject has been displayed without StackOverflow exception. Here is the tested sample for your reference:

    http://www.syncfusion.com/downloads/Support/DirectTrac/1/ImageCell_CS-1414783889.zip

    And, ensure the following things along with this,

    1. Check whether the assembly ‘Syncfusion.Core’ is referenced.
    2. Check with your licensing details too.
    3. Change the ‘SpecficVersion’ of Syncfusion referred assemblies’ property to ‘False’