2

我在MVC 3中有一個項目。它完美地工作,每次構建它,它都會成功。但是,Visual Studio堅持要在每個剃鬚刀語法中顯示視圖中的編譯錯誤。例如:Visual Studio在剃鬚刀報表中顯示語法錯誤,但作品

名稱 '模型' 不在當前情況下d存在:\ ... Detail.cshtml

這條線很簡單:

@model Namespace.DetailViewModel 

我VE已經嘗試過:

  • 清洗液
  • 氯解決方案並刪除binobj文件夾。
  • 關閉VS並重新打開它(即使在中間重啓)。

注:我使用Visual Studio 2012

+0

您是否嘗試過刪除用戶配置文件? – rae1

+0

不,我沒有想到,但我終於找到了。 – Diego

回答

2

我已經解決了它!

該項目是在計算機尚未安裝MVC 4時創建的。安裝後,出於某種原因,它繼續工作(儘管this)。

所以我所做的就是讓應該在MVC 3項目安裝MVC 4後所做的更改:see here

之後,它編譯和錯誤消失,但不存在與某些版本的錯誤圖書館(System.Web.WebPages,System.Web.WebPages.Razor,和其他一些)。原來是因爲他們的Copy Local設置爲True。改變之後,所有事情都開始奏效。

0

打開你的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> 
+0

該部分已經在那裏。 – Diego

+0

這是如何解決這個問題的? – rae1

+0

它包含Views中由@model使用的引用。如果您從新的空的ASP.NET MVC項目開始,Visual Studio不會自動將Web.config文件包含在Views文件夾中。我認爲這可能是類似的問題。 –