Asp.net Webforms移植到Razor MVC错误

Asp.net Webforms移植到Razor MVC错误,asp.net,asp.net-mvc-3,transformation,razor,Asp.net,Asp.net Mvc 3,Transformation,Razor,我已经使用Razor视图引擎创建了视图。因此,视图存在于名为Art.vbhtml 请告诉我如何告诉web应用程序它需要使用Razor视图引擎呈现视图 更新: 帮了我,但现在它给了我这个错误 The view 'Art' or its master was not found. The following locations were searched ~/Views/Home/Art.aspx ~/Views/Home/Art.ascx ~/Views/Shared/Art.aspx ~/Vi

我已经使用
Razor视图引擎创建了视图
。因此,视图存在于名为
Art.vbhtml

请告诉我如何告诉web应用程序它需要使用
Razor视图引擎呈现视图

更新:

帮了我,但现在它给了我这个错误

The view 'Art' or its master was not found. The following locations were searched

~/Views/Home/Art.aspx
~/Views/Home/Art.ascx
~/Views/Shared/Art.aspx
~/Views/Shared/Art.ascx
尽管如此,VisualStudio中的intellisense还是将其显示并突出显示为类名

更新II:

Nathan Ratcliff的回答有助于消除错误,但现在新的错误正在产生,其细节如下

Type 'RazorViewEngine' is not defined
“~/Views/Home/Art.vbhtml”处的视图必须派生自WebViewPage或WebViewPage。 内森,你也能帮我吗

答案摘要 对于那些在本阶段晚些时候到达的人,提供的答案足以澄清我的情况,但我想澄清一些关于答案的事情

我必须执行以下步骤才能使Razor引擎在我的应用程序中运行(除了答案):

  • 在项目的Views文件夹中添加了一个web.config(在web.config中添加了下面答案中提供的代码部分)
  • 在我的项目中添加了System.WebPages.dll文件的引用

确保您在web.config的“编译”部分中有此选项

The view at '~/Views/Home/Art.vbhtml' must derive from WebViewPage, or WebViewPage<TModel>.

编辑:

在视图文件夹中,有一个web.config(不是项目根目录下的web.config)

它有razor配置部分吗

<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />


您使用的是什么版本的MVC?默认情况下,MVC3使用Razor视图引擎。如果您使用的是3,您是否专门清除了视图引擎集合而仅加载webforms视图引擎?我使用的是MVC3,没有清除任何视图引擎集合。我正在尝试在同一个网站上运行与MVC相关的页面和web表单,您不需要清除视图引擎。如果需要,您可以轻松地运行这两个选项。在查看视图时,您会受到非常小的性能影响,但这样做效果很好。对不起,这是一个错误的假设。默认情况下,我已将我的项目设置为Razor,但您可以在创建项目时选择WebForms,这意味着您确实需要使用ViewEngines.Engines.add(new RazorViewEngine())将其添加到视图引擎集合中@BZink,不是说你需要清理收藏品,我只是想他可能是。谢谢你的提示。我在web.config中引用了
version=2.0.0.0
,将其更改为
version=3.0.0.0
,然后它开始工作。只是它现在又开始出现另一个错误。更新了我上面的描述。请在你的回答中也回答这个问题。项目参考资料如何?您引用的是System.Web的正确版本吗?
System.Web
未显示在引用列表中,并且在我尝试添加它时(在您的评论之后)它给出了一个错误,
网站已经引用了程序集“System.web”
。如果您已经完成了上面列出的白皮书中的所有工作,但仍然无法正常工作,那么很抱歉,我已经没有想法了,实际上无法看到该项目。我基本上是将asp.net web表单应用程序移植到MVC3应用程序我在这方面遇到了一些问题。不是从MVC2到MVC3
    <configSections>
      <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
        <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      </sectionGroup>
    </configSections>


    <system.web.webPages.razor>
      <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <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>
    </system.web.webPages.razor>