5

MVC 3 でプロジェクトを作成しました。完全に機能し、ビルドするたびに成功します。ただし、Visual Studio は、各剃刀構文のビューにコンパイル エラーを表示することを主張します。例えば:

「モデル」という名前は、現在のコンテキスト D:\ ... Detail.cshtml に存在しません

その行は単純です:

@model Namespace.DetailViewModel

私はすでに試しました:

  • 洗浄液
  • クリーニング ソリューションとbinフォルダーobjの削除。
  • VSを閉じて再度開く(途中で再起動しても)。

注: Visual Studio 2012 を使用しています。

4

2 に答える 2

3

解決しました!

プロジェクトは、コンピューターにMVC4がまだインストールされていないときに作成されました。それをインストールした後、何らかの理由で、それは動作し続けました(これにもかかわらず

だから私がしたことは、MVC4をインストールした後にMVC3プロジェクトで行うべき変更を加えることでした:ここを参照してください

その後、コンパイルしてエラーは消えましたが、一部のライブラリ(、、およびその他)のバージョンでエラーが発生しましSystem.Web.WebPagesSystem.Web.WebPages.RazorCopy Localそれは彼らがに設定したためであることが判明しましたTrue。それを変更した後、すべてがうまく機能し始めました。

于 2013-01-16T14:07:20.510 に答える
0

Views フォルダー内にある web.config ファイルを開き、このセクションがない場合は追加します。

<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>
于 2013-01-16T13:49:22.580 に答える