Hi, please bare with me as I try to explain our problem and how we got there:
Symptoms: Infragistics controls (WinForm 2012 V2) are not appearing in Visual Studio design view. Icons for each control are appearing in a pane below the form image (where timer controls normally go, or other controls with no visual representation).
How we got there:
We had a suite of applications in .Net 1.1 with Infragistics 2006.1 WinForms. The apps worked and the design view in visual studio showed a form with the rendered controls.
We upgraded to .Net 4 & Infragistics 2011.1. This was straight forward and the forms were rendered correctly in design view.
I then investigated Automated UI Testing and decided to upgrade to Infragistics 2012.2 as it has much better support. I decided to use the strongly typed, version number free versions of the assemblies. This upgrade was again straight forward. Application runs fine, but when we go into the design view none of the infragistics controls are rendered.
I have tried adding 2012.2 controls to a new project and it works as expected.
More info:
In .Net 1.1 the form code is all piled into 1 file (no such thing as partial classes), and this was kept as we were doing a vanilla upgrade. I have tried retrospectively creating an x.designer.cs file and putting the Dispose and InitializeComponents methods into it.
Going back through the different versions I can find the checkin where the problems started occurring. It was the checkin for the 2012.2 assembly upgrade. There was no specific code changes. There was changes to the csproj file for the references to the infragistics components. These were from assemblies with the version numbers as part of the name, 2011.1 (11.1.20111.2111), upgraded to 2012.2 (12.2.20122.1006) without the version number in the assembly name.
Also we are getting the infragistics components from an internal NuGet repository. I don't think this is strictly relevant, but I'm lost at the moment.
Any help would be appreciated.
Thanks
David
At the moment we are going to stick with our current solution of using the versioned dlls.
Cheers
Hello David,
Did you add the versionless assemblies to the GAC? If not, you will need to do that in order to be able to use them in the designer. Since 2012 Volume 2 and later are only compiled against CLR4, you will need to open the Visual Studio 2010 Command Prompt and use gacutil to add the DLLs to the GAC.
If you navigate to the folder the DLLs are stored in and issue the following line, all the DLLs will be added without you having to manually add each one individually.
for %%f in (*.dll) do (gacutil /i %%f)
Hi,
Thanks for your reply.
>I would recommend removing licenses.licx from version control, clearing out the contents, and then re-opening the designer to see if the issue is resolved.
I will try this and let you know.
Running fuslogvw while opening visual studio and my project shows that the "versioned" infragistics assemblies are being loaded. So it kindof makes sense that visual studio would not be able to find the designer components since different file names are being requested, but they have the same strong name.
In the mean time we have changed to use the versioned assemblies, and they are appearing a-ok.
Thank you for contacting Infragistics.
The first issue you mentioned where the controls show up in the component tray after upgrading the project is being caused because Visual Studio can't find the appropriate design assembly. This might be because the licenses.licx file is being included in version control. The licenses.licx file is autogenerated by Visual Studio whenever you open a form or user control designer that uses third-party controls that hook into Visual Studio's control licensing system.
In your most recent post, you described a scenario that we do not currently support. We do not support using multiple versions of our Windows Forms controls in the same project. In this case, the versioned and versionless controls are considered different versions. When you use multiple versions of NetAdvantage controls in the same project, Visual Studio gets confused and doesn't know which design assembly to reference. With each version of NetAdvantage, there are three design assemblies: one for the UltraChart, one for the UltraGauge, and one for all the other controls.
In your original project, I would recommend removing licenses.licx from version control, clearing out the contents, and then re-opening the designer to see if the issue is resolved.
Argh...
I've got a toolbox tab with the Infragistics controls that have the version number in the name, and another tab with the Infragistics controls with no version in the names.
When I create a new project and place an ultrabutton from the versioned toolbox tab, it appears rendered on the form.
I then add an unversioned ultrabutton onto the form. It goes onto the components pane and is not rendered on the form.
I then add a VERSIONED ultrabutton onto the form. It goes onto the components pane and is not rendered on the form.
When I save and open the solution, the first button is still rendered on the form, but it now also has a spot on the components pane with the other buttons that are still not rendered in design view.
This solution doesn't compile because the Ultrabutton declarations error as they are in multiple referenced assemblies. So it is a bit of a contrived test scenario, but it shows my problem.