Как я могу установить asp.net MVC 2 на IIS7? - PullRequest
8 голосов
/ 13 апреля 2010

Я разработал веб-сайт ASP.NET MVC 2, и теперь мне нужно развернуть его на моем веб-сервере. Я уже преодолел некоторые препятствия, так как ASP.NET не был установлен и т. Д., Но теперь я дошел до того, что могу обслуживать простые файлы содержимого, и если я пытаюсь попасть на один из моих URL-адресов MVC, я получаю следующее:

Не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' или одна из ее зависимостей. Система не может найти указанный файл.

Не удивительно, что я не установил MVC2. Проблема в том, что я не могу найти хорошую информацию о том, как его установить!

Центр загрузки Microsoft содержит 3 файла, ни один из которых не выглядит многообещающим:

ASP.NET-MVC-2-RTM-релиз-Notes.doc

AspNetMVC2_VS2008.exe

mvc2-ms-pl.zip

Сайт не пытается объяснить, что это за файлы на самом деле, но я предполагаю, что последний файл - это исходный код. Во всяком случае, так оно и выглядит. Примечания к выпуску не помогают, так как все они касаются установки на вашем компьютере разработки, и, действительно, имя EXE-файла ясно показывает, что это также и интеграция с Visual Studio.

Так как же на самом деле развернуть проклятая вещь?

Другой вариант, связанный с блогом Скотта Гу , - это Установщик веб-платформы Microsoft . Теперь я не хочу устанавливать больше, чем просто MVC2, и у меня уже есть настроенный IIS и т. Д., Так что это кажется немного тяжелым. Но все это академично, так как он отказывается работать на моем сервере, говоря «ваша система не поддерживается» или словами на этот счет. (Сервер является Windows Server 2008 Standard SP2, поэтому я действительно не знаю, в чем его проблема).

Помогите!

[Смешно, что это должно быть так сложно - или, может быть, совсем не сложно, но, безусловно, хорошо сохранившийся секрет!]

Ответы [ 5 ]

9 голосов
/ 13 апреля 2010

Чтобы развернуть приложение MVC, вам просто нужно убедиться, что вы установили ссылки для копирования в папку bin. В частности, эти DLL должны быть там ...

System.ComponentModel.DataAnnotations.dll
System.Web.Abstractions.dll
System.Web.Mvc.dll
System.Web.Routing.dll

Примечание. Копирование ссылки в папку bin.

На практике вы делаете это, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши ссылку в раздел "ссылки" вашего Проект
  2. Выберите «Свойства»
  3. Найдите свойство «Копировать локально» и установите его в «true»

ОБРАТИТЕ ВНИМАНИЕ!

System.Web.Abstractions.dll
System.Web.Routing.dll

Эти два вам нужны, только если .NET 3.5 SP1 не был установлен - если у вас нет SP1, вам нужно будет включить эти два dll, которые являются частью SP1 и необходимы MVC для маршрутизации.

5 голосов
/ 17 мая 2010

Правильный ответ дает Дарин Димитров в этот ответ (выложен здесь для вашего удобства):

Вы можете выполнить установку сервера, для которой не требуется установленная Visual Studio:

msiexec /i AspNetMVC2.msi /l*v .\mvc.log MVC_SERVER_INSTALL="YES"

Теперь вы, вероятно, спрашиваете, откуда это AspNetMVC2.msi. На самом деле вы загружаете AspNetMVC2_VS2008.exe с здесь , переименовываете .exe в .zip и внутри вы найдете то, что ищете (в подпапке mvcruntime).

1 голос
/ 18 мая 2010

Я считаю, что запущенный инструмент установки веб-платформы отлично работает для запуска серверов и машин разработки. Его можно найти здесь ... http://www.microsoft.com/web/default.aspx

1 голос
/ 13 апреля 2010

Вам не нужно помещать эти файлы в GAC сервера. Вы можете, но вам не нужно.

Вы можете просто скопировать эти файлы в каталог /bin на сервере. На самом деле, если у вас Copy Local установлено значение true, когда вы щелкаете правой кнопкой мыши по ссылке, это будет именно так.

Вам необходимо убедиться, что ссылка на этот файл указана:

System.Web.Mvc.dll

находится в вашей директории /bin.

1 голос
/ 13 апреля 2010

Скопируйте System.Web.Mvc.dll со своего компьютера разработчика в папку Bin приложения на веб-сервере (или в GAC).

Этот файл взят из AspNetMVC2_VS2008.exe.

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