Тип 'System.Web.UI.ScriptManager' неоднозначен: он может исходить из сборки - PullRequest
0 голосов
/ 17 ноября 2008

Когда я запускаю приложение asp.net, я получаю сообщение об ошибке

Тип «System.Web.UI.ScriptManager» неоднозначен:

У меня та же проблема, что и у этого человека http://forums.asp.net/t/1313257.aspx, когда я изменяю 1.0.61025.0 на 3.5 и перекомпилирую. Сбрасывает его на 1.0.61025.0

что я могу сделать, чтобы решить эту проблему. Я пытаюсь запустить мое приложение часами.

Спасибо

Редактировать ~ HELPPpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp 10101 *

Я вижу 2 system.web.extensions в GAC. Я пытался удалить с gacutil.exe / u system.web.ext ensions, версия = 1.0.61025.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 Утилита Microsoft (R) .NET Global Assembly Cache. Версия 2.0.50727.42 Авторские права (c) Корпорация Microsoft. Все права защищены.

Неизвестная опция: версия = 1.0.61025.0 что я делаю не так.

Редактировать ~ МОЕ РЕШЕНИЕ

Я зашел в «Установка и удаление программ» и удалил Ajax Web Extensions 2.0 версии 1.0.61025.0

Ответы [ 4 ]

1 голос
/ 26 ноября 2011

Вам необходимо закомментировать старые ссылки на System.Web.Extensions и System.Web.Extensions.Design и добавить 3,5 ссылки в ваш 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"/>

Чтобы предотвратить их добавление обратно, вам нужно будет удалить версии 1.0 из GAC, используя 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"

Если вам нужно удалить ссылку, вы можете попробовать

    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 будет вашей ссылкой на синтаксис. Выше было то, что я пытался избавиться от ссылки на DLL из установщика Windows, но она не работала, так как это была ссылка на реестр, а не FILEPATH, или, я полагаю, одну FILEPATH можно было удалить. Все, что мне было нужно, не было предоставлено на сайте. Так что на охоту я зашёл в реестр за "System.Web.Extensions". Я нашел записи для него и его версии "Designs" в разделе HKEY_CURRENT_USER \ Software \ Microsoft \ Installer \ Assemblies \ Global. После того, как я удалил 2 записи, я мог удалить их, используя первую команду gacutil, которая у меня там была очень хорошая (повторно запустив ее для "Designs") &% $ # Microsoft !!!

-Tom

P.S. Если у вас нет SDK для VS 2005, вы также можете перейти к gacutil по адресу C: \ WINDOWS \ Microsoft.NET \ Framework \ v1.1 *. Или просто перейдите в C: \ WINDOWS \ Assembly и найдите нужные (осторожно !!) и нажмите Delete.

P.P.S. Вы можете получить одну из этих «неоднозначных справочных» ошибок, если у вас есть AJAX Control Toolkit и он автоматически обновляет библиотеки DLL 1.0 в вашу корзину - он может не знать, использовать ли GAC или вашу корзину для библиотек 3.5. В этом случае мне пришлось добавить следующие записи в начало моей страницы 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" %>

Я, наверное, так же легко мог бы сделать их версии 1.0 и посмотреть, сработало ли бы это ...

1 голос
/ 17 ноября 2008

Похоже, что вы (возможно, косвенно) ссылаетесь на старую библиотеку System.Web.Extensions. Проверьте файл конфигурации и найдите в приложении «System.Web.Extensions». Также убедитесь, что старая версия не находится в папке bin (и не копируется туда).

Убедитесь, что вы не используете какие-либо другие библиотеки, использующие старую библиотеку System.Web.Extensions, например AJAX Toolit 1.0.x.

0 голосов
/ 17 декабря 2009

Более новая альтернатива для решения этой проблемы - добавить это в веб-конфигурацию

.

0 голосов
/ 17 ноября 2008

Обновите ссылку на проект и очистите каталог bin. Asp.net загружает предыдущую версию AJAX из bin

Убедитесь, что вы удалили: - System.Web.Extensions.dll - System.Web.Extensions.Design.dll
- старые версии AjaxToolkit.dll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...