2011-08-13 8 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を使用してビューを作成しました。Razor MVCエラーに移植したWebフォーム

:だから、ビューは名前 Art.vbhtml

Homeフォルダの下Viewsフォルダに存在することがRazor View Engine

UPDATEを使用してビューをレンダリングする必要があるWebアプリケーションを見分ける方法を教えてください

Problem using Razor after migrating MVC 2.0 to MVC 3.0 RC が私を助けたが、今ではこのエラーを与えている...

Type 'RazorViewEngine' is not defined 

ALTH大事なのは、ビジュアル・スタジオのインテリセンスがそれを示しており、クラス名としてハイライトしていることです。

UPDATE II:

その詳細です

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

としてネイサンは、あなたが私を助けることができるネイサンラトクリフの答えがエラーを除去するのに役立ったが、今、新たなエラーが生成されますこれも同様?この段階で、後に到着した人のために、

ANSWER概要 は、供給された答えは、私の状況をクリアするのに十分ですが、私は答えに関するいくつかのことを明確にしたいと思います。

私はレイザーエンジンが(離れて答えから)私のアプリケーションで実行されているようにするには、次の手順を実行する必要がありました:

  • は、コードのプロジェクト(追加しましたセクションで[ビュー]フォルダにweb.configファイルを追加しました以下のweb.configの答えで提供されています)。
  • プロジェクトにSystem.WebPages.dllファイルの参照を追加しました。
+0

使用しているMVCのバージョンは何ですか? MVC3はデフォルトでRazorビューエンジンを使用します。 3を使用している場合、特にビューエンジンコレクションをクリアしていて、webformsビューエンジンのみをロードしていますか? –

+0

MVC3を使用していますが、ビューエンジンコレクションをクリアしていません。MVC関連のページとWebフォームを同じWebサイトで実行しようとしています –

+0

ビューエンジンをクリアする必要はありません。必要に応じて両方を簡単に実行できます。ビューのルックアップには非常に小さなパフォーマンスヒットがありますが、この方法でうまく動作します。 – BZink

答えて

1

あなたのweb.configファイルの編集セクション

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

でこれを持っているし、古いものを削除していることを確認します。また

、2.0からのアップグレードのためのwww.asp.netの提言 - > 3.0

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

編集:あなたの意見フォルダで

は、web.configファイル(ない1時がありますあなたのプロジェクトのルート)。

かみそりの設定セクションはありますか?

<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'は参照リストに表示されていません。コメントの後に追加しようとすると、' Webサイトはすでにアセンブリ 'System.web'を参照しています。 –