2008-11-16 8 views
0

Quand je lance mon application asp.net je reçois l'erreurLe type « System.Web.UI.ScriptManager » est ambigu: il pourrait provenir de l'assemblage

Le type « System.Web.UI.ScriptManager 'est ambigu:

Je suis le même problème cette personne est d'avoir http://forums.asp.net/t/1313257.aspx, quand je change la 1.0.61025.0 à 3,5 et recompiler le remet à 1.0.61025.0

ce que je peux, je faire pour résoudre ceci. J'ai essayé de faire fonctionner mon application pendant des heures maintenant.

Merci

Modifier ~ HELPPpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

Je vois 2 system.web.extensions dans le GAC. J'ai essayé de supprimer avec gacutil.exe/u system.web.ext ensions, Version = 1.0.61025.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35 Microsoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42 Droits d'auteur (c) Microsoft Corporation. Tous les droits sont réservés.

Option inconnue: Version = 1.0.61025.0 Qu'est-ce que je fais mal.

Modifier ~ Ma solution

Je suis allé à "Ajouter Suppression de programmes" et non installé la version Web Extensions Ajax 2,0 1.0.61025.0

Répondre

1

On dirait que vous êtes (peut-être indirectement) référençant l'ancienne DLL System.Web.Extensions. Vérifiez votre fichier de configuration et recherchez votre application "System.Web.Extensions". Assurez-vous également que l'ancienne version ne se trouve pas dans votre dossier bin (et qu'elle n'est pas copiée ici).

Assurez-vous que vous n'utilisez pas d'autres bibliothèques qui utilisent l'ancienne DLL System.Web.Extensions, à savoir l'AJAX Toolit 1.0.x.

0

Mettez à jour votre référence de projet et nettoyez votre répertoire bin. Asp.net charge la version précédente d'AJAX de bin

Assurez-vous supprimer: - System.Web.Extensions.dll - System.Web.Extensions.Design.dll
- les anciennes versions de AjaxToolkit.dll

0

Une nouvelle alternative à résoudre ce problème est d'ajouter à la configuration web

1

Vous devez commenter les anciennes références à System.Web.Extensions et System.Web.Extensions.Design et ajoutez 3,5 ceux dans votre web.config:

<!-- <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> --> 
    <!-- <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> --> 
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 

Pour les empêcher de étant rajouté, vous devrez faire la suppression du 1.0 versions du GAC en utilisant gacutil:

C:> cd C:\Program Files\Microsoft Visual Studio 8\SDK\bin 
    C:\Program Files\Microsoft Visual Studio 8\SDK\bin>gacutil /u "System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 

Si vous devez supprimer une référence, vous pouvez essayer

gacutil /u /r "System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" FILEPATH C:\WINDOWS\system32\msiexec.exe "Windows Installer" 

http://msdn.microsoft.com/en-us/library/ex0ss12c(v=VS.71).aspx serait votre référence sur la syntaxe. Ce qui précède est ce que j'ai essayé de me débarrasser d'une référence à la DLL de Windows Installer, mais cela n'a pas fonctionné puisqu'il s'agissait d'une référence de registre, pas un FILEPATH, ou un FILEPATH pourrait supprimer, je suppose. Tout ce dont j'avais besoin, il n'a pas été fourni sur le site. Donc, une chasse je suis allé dans le registre pour "System.Web.Extensions". J'ai trouvé des entrées pour cela, et sa version "Designs" sous HKEY_CURRENT_USER \ Software \ Microsoft \ Installer \ Assemblies \ Global. Après avoir supprimé les 2 entrées, je pouvais les supprimer en utilisant la première commande gacutil que j'avais là-haut (en la reprenant pour celle de "Designs"). &% $ # Microsoft !!!

-Tom

P.S. Si vous n'avez pas le SDK pour VS 2005, vous pouvez également accéder à gacutil sur C: \ WINDOWS \ Microsoft.NET \ Framework \ v1.1 *. Ou allez simplement à C: \ WINDOWS \ Assembly et trouvez les bons (attention !!) et appuyez sur Supprimer.

P.P.S. Vous pouvez obtenir une de ces "références ambiguës" si vous avez le AJAX Control Toolkit et qu'il rafraîchit automatiquement les DLLs 1.0 dans votre Bin - il ne sait pas s'il doit utiliser le GAC ou votre Bin pour les DLL 3.5. Dans ce cas, je devais ajouter ces entrées en haut de ma page ASPX:

<%@ Assembly Name="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" %> 
    <%@ Assembly Name="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" %> 

Je probablement tout aussi facilement pu les avoir faits 1.0 versions et voir si ça aurait travaillé ...

Questions connexes