2015-02-13 2 views
2

У меня есть приложение MVC4, разработанное с помощью Visual Studio 2010. Проект отлично работает на IIS Express. При публикации в IIS8 и попытке доступа к нему я получаю исключение, поскольку сборка System.Web.Mvc, Version=3.0.0.0 не может быть загружена. Вызывающий узел: AttributeRouting.Web.Mvc, который является пакетом NuGet, который я использую.Установленный пакет nuget зависит от старой версии System.Web.Mvc.dll после публикации

Как я понимаю, мой проект ссылается на версию 4.0.0.0 от System.Web.Mvc, тогда как пакет, который я использую, зависит от 3.0.0.0.

  1. Если Visual Studio/IIS Express может работать с ним отлично, как это получилось, опубликованная версия имеет эту проблему?

  2. Я читал много только сегодня, но все еще не мог понять это. Это для чего используется переплетная переадресация?

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

Заранее спасибо, Застенчивый.

+0

ли показать Visual Studio любого предупреждения в списке ошибок после построения решения? У меня есть VS 13, и это показывает мне предупреждение при конфликтах версии сборки. Двойное нажатие на предупреждение устраняет проблему (добавляет необходимые переадресации привязки в файл конфигурации) –

+0

Да, получил предупреждение и щелкнул его уже. К сожалению, это не сработало. –

+0

Вы можете проверить это: http://stackoverflow.com/a/16855426/1454888 –

ответ

1

РЕШИТЬ:
Я просто (ну это было не так просто) установлен MVC3 в дополнение к версии 2 и 4.
проблемы исчезли без необходимости каких-либо дальнейших изменений.

Загрузить и установить MVC3 с Microsoft's website.
В случае failes установки:

  1. Извлеките установочный файл.
  2. Открыть ParameterInfo.Xml в редакторе.
  3. Удалить полностью тег <Exe>, который ссылается на файл vs10-kb2483190 .
  4. Запустите установку еще раз.

Большое спасибо за вашу помощь @Augusto.

Надеется, что это помогает кто-то когда-нибудь :)

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