2011-08-13 70 views
0
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 

我使用Razor View Engine創建了視圖。因此,鑑於該Views文件夾中存在與名稱Home文件夾下Art.vbhtmlWebforms移植到Razor MVC錯誤

請告訴我如何告訴它需要使用Razor View Engine

UPDATE渲染視圖的Web應用程序:

Problem using Razor after migrating MVC 2.0 to MVC 3.0 RC幫我,但現在它給這個錯誤...

Type 'RazorViewEngine' is not defined 

ALTH儘管如此,視覺工作室的intellisense正在展示它並突出顯示類名。

UPDATE II:

彌敦道拉特克利夫的回答有助於去除錯誤,但現在新的錯誤產生,其具體情況下...

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

彌敦道你能幫助我在這個呢?

答案摘要 對於那些,誰在這個階段之後抵達,提供的答案是足夠清楚我的情況,但我想澄清有關的答案几件事情。

我必須執行以下步驟,以使剃刀引擎在我的應用程序運行(除了答案):

  • 加在瀏覽文件夾中的web.config文件中的項目(代碼添加部分在web.config中的答案中提供)。
  • 在我的項目中添加了System.WebPages.dll文件的引用。
+0

您使用的是什麼版本的MVC? MVC3默認使用Razor視圖引擎。如果您使用的是3,您是否專門清除了視圖引擎集合並只加載webforms視圖引擎? –

+0

我正在使用MVC3並沒有清除任何視圖引擎集合。我試圖在同一個網站上運行兩個MVC相關的頁面和Web表單 –

+0

您不需要清除視圖引擎。如果需要的話,你可以很容易地運行。你會在查看視圖時獲得非常小的性能,但這種方式很好。 – BZink

回答

1

確保你在你的web.config

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

的統計部有這個並刪除舊的。

此外,www.asp.net的從2.0升級建議 - > 3.0

http://www.asp.net/learn/whitepapers/mvc3-release-notes#upgrading

編輯:

在你的意見文件夾中,有一個web.config(不是一個在你的項目的根源)。

它有剃鬚刀配置部分?

<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>  
+0

感謝您的提示。我在我的web.config中引用了'version = 2.0.0.0'將其更改爲'version = 3.0.0.0',並開始工作。只是它現在開始給出另一個錯誤。上面更新了我的描述。請在回答中回覆那一個。 –

+0

項目引用如何?您是否引用了System.Web的正確版本? –

+0

'System.Web'沒有顯示在引用列表中,當我嘗試添加它時(在您的評論之後),它給出了錯誤:「該網站已經引用程序集」System.web「。 –