This is a migrated thread and some comments may be shown as answers.

Ambiguous references

7 Answers 274 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Simon Channell
Top achievements
Rank 1
Simon Channell asked on 12 Mar 2013, 11:32 AM
I have recently tried updating my website to use the latest version of RadControls

When I loaded a form which had been created using the previous installed version I got the message

"The server tag 'telerik:RadAjaxLoadingPanel' is ambiguous. Please modify the associated registration that is causing ambiguity and pick a new tag prefix."

I therefore decided to uninstall the new version of the controls and added the old dlls to my bin folder instead

I still got the message even though I had uninstalled the controls.

What can I do to get rid of this message?

7 Answers, 1 is accepted

Sort by
0
Marin Bratanov
Telerik team
answered on 14 Mar 2013, 02:34 PM
Hi Simon,

If you have several different tag registrations and one of them uses a fully qualified name for the assembly to access it from the GAC you may end up with several references in your project.

I advise you take a look at this blog post for upgrading and that you use the following tag registration in the web.config if you use Bin deployment and also remove the tag registrations from each separate page:
<pages>
  <controls>
    <add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>
  </controls>
</pages>



Regards,
Marin Bratanov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Simon Channell
Top achievements
Rank 1
answered on 15 Mar 2013, 02:34 PM
I have now removed the tag registrations from all my pages and the only tag registration left is in my web.config folder. 
I have also emptied the Temporary Asp.net directories and checked there are no GAC entries for Telerik.
However I am still getting the "Ambiguous references" message as before.
Is it worth trying to upgrade the Telerik dlls or is there something else I can do to resolve the problem?

Extracts from web.config
<httpHandlers>
           <remove verb="*" path="*.asmx" />
           <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
           <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
           <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
           <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
           <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
           <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
           <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />
           <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" />
       </httpHandlers>

<

<add tagPrefix="YAF" namespace="YAF.Classes" />
         <add tagPrefix="YAF" namespace="YAF" />
         <add tagPrefix="editor" namespace="YAF.Editor" />
         <add tagPrefix="GleamTech" tagName="FileVistaControl" src="~/FileVistaControl/filevista.ascx" />
         <add tagPrefix="GleamTech" assembly="GleamTech.Web.Controls.FileVistaControl" namespace="GleamTech.Web.Controls" />
         <add tagPrefix="telerik" namespace="Telerik.Web.Design" assembly="Telerik.Web.Design"  />
         <add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"  />
         <add tagPrefix="telerik" namespace="Telerik.Web.UI.Skins" assembly="Telerik.Web.UI.Skins"  />
       </controls>

 

0
Marin Bratanov
Telerik team
answered on 18 Mar 2013, 11:46 AM
Hi Simon,

Our assemblies are standard .NET assemblies and the error you get means that VisualStudio still references different versions in the same project. This can happen if there are tag registrations in a user control used on the problematic page, for example, or if another project in the solution references different versions.

On the GAC - we automatically add the Design assembly to the GAC and it should be there in case you have not removed it explicitly. This is why it can be causing such an issue and you can remove the reference to Telerik.Web.Design if you are not using the design surface to create your pages.

I suggest you examine this article on working with the GAC: http://www.telerik.com/help/aspnet-ajax/introduction-add-to-global-assembly-cache.html. Also note that since .NET 4.0 there is a new place for the GAC. Executing gacutil -l Telerik.Web.UI from the VS command prompt will show you the assemblies you have in the GAC.

Restarting VS and disabling the add-ons can also help.


Kind regards,
Marin Bratanov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Simon Channell
Top achievements
Rank 1
answered on 24 Apr 2013, 02:54 PM
I have copied my web site to a new server
I have now checked and there are no references to Telerik in the GAC
Should I add any binding references to make sure my web site accesses the correct version of the DLLs ?
0
Marin Bratanov
Telerik team
answered on 26 Apr 2013, 10:42 AM
Hello Simon,

A bindingRedirect is used to make sure that old references in the project are executed from the newer version of the assembly. Such references can be register directives in user controls, for example. They are not related to the versions of the assembly present in the GAC, but to the references in the current project.

If you have updated the project and there are no other references to Telerik.Web.UI except in the web.config it should be safe to skip the bindingRedirect. You can simply test your site without it, and if you get no errors then there are not old references and you should not need it.


All the best,
Marin Bratanov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Jerry
Top achievements
Rank 1
answered on 27 Apr 2016, 07:00 PM

What is a GAC?

 

0
Marin Bratanov
Telerik team
answered on 28 Apr 2016, 07:43 AM

Hello Jerry,

I advise you start from the following article and review all relevant information, especially the MSDN articles: http://docs.telerik.com/devtools/aspnet-ajax/deployment/using-the-global-assembly-cache#what-is-the-gac.

Regards,

Marin Bratanov
Telerik
Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
Tags
General Discussions
Asked by
Simon Channell
Top achievements
Rank 1
Answers by
Marin Bratanov
Telerik team
Simon Channell
Top achievements
Rank 1
Jerry
Top achievements
Rank 1
Share this question
or