2013-09-24 2 views
4

В настоящее время я пытаюсь использовать загрузку файла под названием the Jquery-File-Upload by BlueImp в моем приложении MVC 4 через самородок. Эта загрузка файла зависит от пространства имен System.Web.Optimization.Как ссылаться на версию 1.1.0.0 сборки System.Web.Optimization

Мое приложение продолжает бросать эту ошибку:

Error 9 Assembly 'Backload, Version=1.9.3.0, Culture=neutral, PublicKeyToken=02eaf42ab375d363' uses 'System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

Я попытался регулировать web.config таким образом

<dependentAssembly> 
    <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> 
</dependentAssembly> 

и я до сих пор продолжаю получать то же самое сообщение.

У меня есть googled и найдены ссылки, которые просят установить Microsoft.AspNet.Web.Optimization через самородок, который я сделал, но все же проблема не решена.

Как я могу добавить версию 1.1.0.0 в System.Web.Optimization.dll.

ответ

3

Вот как я решил эту проблему , Сначала я последовал за комментарием @helgans под его ответом и все еще продолжал получать ссылку на версию 1.0.0 system.web.optimization в справочной папке. Я также удалил dll из папки bin моего сайта и справочной версии 1.1.0 из другого проекта, но та же проблема сохраняется.

При решении проблемы я обнаружил, что более старая версия копировалась из папки библиотеки в моем приложении (ну, я не знаю, как это сделать). Это означает, что ссылочная версия остается версии 1.0.0, даже если я упоминал версию 1.1.0 из другого проекта или снова установил пакет NuGet.

Чтобы решить эту проблему, я сделал следующее:

  1. Я удалил DLL из папки Library.
  2. Убрана ссылка на старую версию (спасибо @helgans)
  3. Удалены библиотеки DLL из папки бин
  4. Unistall пакет: Uninstall-Package Microsoft.AspNet.Web.Optimization -Force
  5. Переустановите пакет

NuGet теперь добавляет ссылку на версию 1.1.0

+0

Я удалил всю папку bin, а затем выполнил шаги 4 и 5 выше. Спасибо за совет. – bkwdesign

6

Это потому, что Backload внутренне ссылается на версию Microsoft.AspNet.Web.Optimization версии 1.1.0. В новом проекте MVC вы обычно ссылаетесь на старую версию 1.0.0. Вам нужно только обновить его до нового:

Щелкните правой кнопкой мыши ссылки в вашем проекте, выберите «Управление пакетами NuGet», а в следующем диалоговом окне выберите «Обновления» на левой панели. Затем, в средней панели, обратите внимание на "Microsoft ASP.NET Framework Web Optimization" версии 1.1.0

NuGet: http://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization/

Описанная здесь: http://docs.nuget.org/docs/start-here/managing-nuget-packages-using-the-dialog

+0

Я все еще получил то же сообщение. после того, как вы предложили. Хотя новая версия установлена, «System.Web.Optimization dll» остается старой версией (версия 1.0.0.0). Кажется, что пакет nuget не обновляет эту DLL. Я все еще потерян. Пожалуйста, любое предложение –

+0

Удалить ссылку на старую dll (1.0.0), удалите запись в файле packages.config (1.1.0), а затем снова установите пакет NuGet. – helgans

Смежные вопросы