在VS2012中打开MVC3项目

hof*_*lie 8 asp.net-mvc asp.net-mvc-3 visual-studio-2012

我试图在新安装的Visual Studio Express 2012 RC中打开MVC3解决方案.到目前为止,我遇到的问题由于某种原因VS2012不知道项目是MVC项目,所以它不会添加视图/控制器.通过将以下GUID添加到解决方案中每个项目ProjectTypeGuids.csproj文件的节点来实现此目的:

{E53F8FEA-EAE0-44A6-8774-FFD645390401}
Run Code Online (Sandbox Code Playgroud)

但是,当我打开剃刀视图时,它会显示这些错误(以及其他相关错误):

Error    20    The name 'model' does not exist in the current context    c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml    2    2    EventManagement

Error    21    The name 'T' does not exist in the current context    c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml    5    14    EventManagement

Error    22    'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for 'LabelFor' and no extension method 'LabelFor' accepting a first argument of type 'System.Web.WebPages.Html.HtmlHelper' could be found (are you missing a using directive or an assembly reference?)    c:\Users\willem\Documents\Visual Studio 2010\Projects\000-Orchard Development\src\Orchard.Web\Modules\EventManagement\Views\EditorTemplates\Parts\Event.cshtml    6    11    EventManagement
Run Code Online (Sandbox Code Playgroud)

Intellisense正在剃刀视图中工作,但它只为Html帮助器方法提供了有限数量的字段.例如,没有像LabelFor和TextboxFor这样的模型特定方法.

我安装了MVC 3和4.该解决方案在VS2010中运行良好.

更新:

在VS2012中添加新的 MVC3项目时,它可以正常工作.这意味着它肯定与项目有关,而不是安装.

更新2: 我认为问题是视图无法访问根配置中引用的库:

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <pages pageBaseType="Orchard.Mvc.ViewEngines.Razor.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Routing" />
      <add namespace="System.Web.WebPages" />
      <add namespace="System.Linq"/>
      <add namespace="System.Collections.Generic"/>
      <add namespace="Orchard.Mvc.Html"/>
    </namespaces>
  </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

它在运行时,但intellilsense和错误控制台不会提取它

任何帮助表示赞赏.

谢谢

hof*_*lie 0

我通过卸载 MVC4 RC 解决了这个问题。似乎与我的系统(或我测试过的其他 3 个系统)不兼容。只需要等待MVC4的发布版本