Ambiguous references

8 posts, 0 answers
  1. Simon Channell
    Simon Channell avatar
    17 posts
    Member since:
    Mar 2004

    Posted 12 Mar 2013 Link to this post

    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?
  2. Marin Bratanov
    Admin
    Marin Bratanov avatar
    3602 posts

    Posted 14 Mar 2013 Link to this post

    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.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Simon Channell
    Simon Channell avatar
    17 posts
    Member since:
    Mar 2004

    Posted 15 Mar 2013 Link to this post

    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>

     

  5. Marin Bratanov
    Admin
    Marin Bratanov avatar
    3602 posts

    Posted 18 Mar 2013 Link to this post

    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.
  6. Simon Channell
    Simon Channell avatar
    17 posts
    Member since:
    Mar 2004

    Posted 24 Apr 2013 Link to this post

    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 ?
  7. Marin Bratanov
    Admin
    Marin Bratanov avatar
    3602 posts

    Posted 26 Apr 2013 Link to this post

    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.
  8. Jerry
    Jerry avatar
    6 posts
    Member since:
    Jul 2014

    Posted 27 Apr in reply to Marin Bratanov Link to this post

    What is a GAC?

     

  9. Marin Bratanov
    Admin
    Marin Bratanov avatar
    3602 posts

    Posted 28 Apr Link to this post

    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.
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017