I am upgrading asp.net webform project which uses 14.2 dll with 21.1.
I removed older references of the dll and added 21.1 . I have removed all the older dll's from bin and obj and rebuild the project to make sure all the old referenced dll's are gone and clean the solution and rebuild the solution.
However, I am still getting "Ambiguous match found." because of WebDropDown controls. Below is the snippet of the controls.
<ig:WebDropDown runat="server" SkinID="skingdropDown" AutoPostBack="false" StyleSetName="test" Width="200px" Height="20px" ForeColor="#333333" backcolor="white"> <Items> <ig:DropDownItem CssClass="ig_ListItem"></ig:DropDownItem> </Items></ig:WebDropDown>
Could please help me in finding what function is Ambiguous as error do not give more information apart from this message.
Thanks in advance.
Hello Tilak,
What I can suggest you is using the Version Utility to upgrade your project. It simply replaces the references with their new equivalents and would do all the steps you have mentioned automatically. It can be installed via the Platform Installer for version 21.1.
To upgrade a project, you would simply need to run the Version Utility, select the “Website” option and locate the projects directory. After that, the project would be analyzed to determine if it is eligible to upgrade. If it is, you would be present with two options, upgrade to the latest version or a customized upgrade
Please try out upgrading with the version utility and let me know if you have any questions.
Regards, Ivan Kitanov
Hi Ivan,
On running Version Utility below message is being written in the log.
We have determined this solution/project/website to have retired ASP.NET controls in the following file.
NOTE: There could be retired controls in other files too. The utility cannot proceed any further.
I tested the code that you provided for the WebDropDown and the WebDataGrid and upgraded it successfully.
Could you review the other files in the project to check if they contain comments or variable names that could be connected with the retired controls?
The reason why I am asking this is because the Version Utility is built in a way to detect references from previous versions and to replace them with their new equivalents, moreover all the controls in comments and as variables as well, would raise an error while trying to upgrade if they are part of a reference that doesn't exist in the version you are upgrading to, resulting in failing the upgrade. So, what I can suggest you is removing all instances of the code that could cause the update to fail from comments or variables manually.
Please let me know if this suggestion was helpful or if you need any further assistance.
Thank you for looking into the issue.
As you said there were few old controls that were commented in the code. Therefore, I removed them and the application is being upgraded successfully.
However, I am using skin file for look and feel. Whenever, I drop following to my skin file
<igddl:WebDropDown runat="server" SkinID="g" AutoPostBack="false" StyleSetName="MYSET" Width="220px" Height="22px" Font-Size="12px" Font-Bold="false" ForeColor="#131313" backcolor="white"> <Items> <igddl:DropDownItem CssClass="igdd_ListItem"></igddl:DropDownItem> </Items></igddl:WebDropDown>
I get Ambiguous match found error. I tried this on a dummy project which have a default.aspx (Microsoft asp.net template) and have dropped webdropdown on it and one skin file with only one control in it.
Do you still get the Ambiguous match found exception, if you remove the Skin file?
If the answer is no, I have two suggestions. The first one is to apply styles using ig_dropdown.css file under this directory - ig_res/Default and make all the style changes there instead of using a skin. In order to see the changes applied to your application, you would need to add the link reference for the changed CSS resource file, similar to this:
<link href="ig_res/default/ig_shared.css" type="text/css" rel="stylesheet" />
My other suggestion would be to send me the Skin file or even the sample that you have tested the issue with and let me investigate further what might be causing this issue.
Looking forward to hearing from you.
Here is the link for the sample application.
Please have a look.
Thank you for the provide sample. The Ambiguous match found exception occurs when binding to a member results in more than one member matching the binding criteria. In most cases this is caused by controls having similar IDs in different files, for example if a there are two WebDropDowns with IDs – wdd and Wdd. Changing one of them would remove the exception, however I couldn’t find something similar in your sample.
After some investigation, I found that if you remove the lines below inside the BlueIE11 skin the application will run successfully without raising the Ambiguous match found exception:
<Items>
<igddl:DropDownItem CssClass=" igdd_ListItem"></igddl:DropDownItem>
</Items>
If you want to add the CssClass for the items of the WebDropDown you can do this inside the markup where you define the WebDropDown itself.
Please let me know if you have any questions.