Я занимаюсь разработкой веб-приложения с использованием ASP.NET MVC 2.0 в MonoDevelop.У меня установлены последние версии Mono 2.10 и MonoDevelop 2.4.2, и я запускаю их на Mac.
Согласно примечаниям к выпуску mono, он должен поддерживать ASP.NET MVC 2.0.Однако я обнаружил, что шаблоны проектов MonoDevelop все еще поддерживают только ASP.NET MVC 1.0.Поэтому мне пришлось создать проект MVC из MonoDevelop и удалить system.web.mvc 1.0.0.0 из справочника и добавить обратно system.web.mvc 2.0.0.0. Я могу написать и скомпилировать код ОК, а MonoDevelop предоставляет intellisense только для существующих методовв MVC 2.0 из C # и файла ASPX.Однако при попытке запустить его из MonoDevelop возникла ошибка компиляции с жалобой «<%: Html.LabelFor (model => model.Name)%>», поскольку метод LabelFor не может быть распознан.
MonoDevelop использует XSPв качестве тестового веб-сервера.Я не уверен, как это настроено, поскольку я не устанавливал это непосредственно.Я думаю, что это было установлено как часть MonoDevelop.Я предполагаю, что XSP почему-то все еще использует MVC 1.0, но я не могу доказать это, поскольку я даже не мог найти, где он установлен.
Может кто-нибудь помочь мне, пожалуйста?
Обновление: ятоже подозревал web.config.Вот как они выглядят сейчас: web.config
<configuration>
<system.web>
<compilation defaultLanguage="C#" debug="true">
<assemblies>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</assemblies>
</compilation>
<customErrors mode="RemoteOnly">
</customErrors>
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<authorization>
<allow users="*" />
</authorization>
web.config при просмотре
<configuration>
<system.web>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler" />
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>