簡體   English   中英

Views Web.config中的名稱空間上沒有智能感知

[英]No intellisense on namespaces in Views Web.config

我有一個MVC5項目,我正在嘗試解決一些有關System.Web.MVC組件上沒有智能感知的問題。

在我的views文件夾中的Web.Config中,我有以下內容;

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Configuration" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="Helpers" />
        <add namespace="Common.Net.Mvc" />
        <add namespace="Common" />
        <add namespace="MvcSiteMapProvider.Web.Html" />
        <add namespace="MvcSiteMapProvider.Web.Html.Models" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

但是,當我然后引用例如Url。,ViewBag或Html.ActionLink等時(同樣,如果我引用的是我的Common類,它是.resx生成的文件)。 我收到錯誤消息,說它們不存在當前上下文。

我可以成功地編譯並運行代碼,並且頁面呈現得很好,盡管可以消除這些錯誤並獲得我通常得到的智能感知將是很好的。

我正在運行VS2017社區,並且已安裝和更新Razor擴展。 我在其他項目上有智慧,似乎就是這個項目。

好吧,經過大量的搜索和浪費的時間,這里的答案解決了這個問題;

當前上下文中不存在名稱“ ViewBag”-Visual Studio 2015

這是我執行的步驟的摘要(可能不需要刪除和刪除文件);

  1. 從存在問題的解決方案中刪除.suo和.csproj.user。
  2. 從解決方案的路徑中刪除隱藏的.vs文件夾
  3. 從中刪除temp asp net文件

C:\\ Users \\您的名稱。此處\\ AppData \\ Local \\ Temp \\ Temporary ASP.NET文件

  1. 從此處刪除文件;

C:\\ Users \\您的名稱。此處\\ AppData \\ Local \\ Microsoft \\ VisualStudio \\ 14.0 \\ ComponentModelCache

請注意,僅靠上面的方法並不能解決問題,因此我在上面結合了以下內容。

  1. 將.csproj版本信息與該項目的.csproj版本信息進行了比較,並添加了問題和修正(因為這確實是從VS 2012繼承過來的項目),並且按照上面的鏈接進行了比較。

csproj圖片

  1. 右鍵單擊解決方案->'Manage Nuget Packages ...'->更新->全選->應用更新

這重建了nuget參考,並且智能感知又回來了。 希望有一天,這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM