ASP.NET MVC 2 в IIS 6 просто работает с .NET 4 - PullRequest
0 голосов
/ 17 июня 2011

Я установил подстановочный знак в виртуальном каталоге в IIS 6 Windows Server 2003, указывая на C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll, но он не работал.Затем я пытаюсь установить в C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll, и он работал нормально.Но я не хочу, чтобы это работало в v4, потому что у меня есть другие приложения в том же пуле приложений, которые должны работать в .NET2.

Я сделал это пошаговое руководство , которое является лучшимЯ нашел, но он продолжает работать только с .NET 4.

Мое решение на данный момент - установить новый VirtualDirectory, в котором есть AppPool с версией .NET 4.Но это не кажется правильным, потому что для MVC2 должно быть достаточно .NET35 SP1.

Кто-нибудь сталкивался с этой проблемой?

Это должно работать с 3.5 ... Я использую Reflector, чтобы проверить, есть ли какая-либо dll, которая использует .NET 4, которая могла бы испортить это, но я не нашел ни одной.

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Я следовал многим подобным инструкциям, но ни один из них не работал.На самом деле они работали, если я указываю на C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll.Нет смысла указывать на isapi v4, поскольку предполагается, что в .NET 4 нет ничего.

Я пытаюсь найти файл .dll, который, возможно, подталкивал приложение к работе в .NET4 вместо 3.5,но я не смог их найти.

Решением этой проблемы был переход на MVC 3 и использование прозрачного .NET4, без сомнения, нормально работающего и самой последней версии.

Теперь все отлично, но не реальное решение проблемы выше.

0 голосов
/ 26 июля 2011

Мне удалось запустить его в IIS6 на ASP версии 2 и framework 3.5, следуя некоторым инструкциям на http://go.microsoft.com/?LinkId=9394801.

У меня есть виртуальный каталог, который добавляет новое расширение.* и исполняемый файл C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll и снял флажок «проверить, существует ли файл» под кнопкой «Конфигурация» вкладки «Виртуальный каталог».После приведенных ниже обновлений приложение mvc работало без указания каких-либо расширений, таких как .mvc или .aspx.Я не проверял, не вызвало ли это снижение производительности.

Мой файл global.asax.cs по умолчанию теперь выглядит так:

        routes.MapRoute(
            "Default",
            "{controller}/{action}/{id}",
            new { action = "Index", id = "" }
        );

        routes.MapRoute(
              "Root",
              "",
              new { controller = "Home", action = "Index", id = "" }
        );

ASP2 не распознал тег <%: script,поэтому мне пришлось удалить их и обернуть содержимое с помощью Response.Write ().Например, </p>

<li><%: Html.ActionLink("Home", "Index", "Home") %></li>

становится

<li><% Response.Write(Html.ActionLink("Home", "Index", "Home")); %></li>
...