web-dev-qa-db-ja.com

Razorファイル(.cshtml)のIntelliSenseが機能しなくなった

Intellisenseは、カミソリファイルでは機能しません。

enter image description here__(SOMECODE)__

_<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <section name="Host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
            <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.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" />
                <add namespace="System.Web.Optimization" />

                <add namespace="MvcSiteMapProvider.Web.Html" />
                <add namespace="MvcSiteMapProvider.Web.Html.Models" />

                <add namespace="DevTrends.MvcDonutCaching" />
            </namespaces>
        </pages>
    </system.web.webPages.razor>

    <appSettings>
        <add key="webpages:Enabled" value="false" />
    </appSettings>

    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
            <remove name="BlockViewHandler" />
            <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
        </handlers>
    </system.webServer>
</configuration>
_
63
ridermansb

これは、IntelliSenseが突然バグアウトを開始し、ビューのHTMLタグの間にあるC#コードの色付けを正しく停止した後、私にとってうまくいったことです。


%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCacheのフォルダーの内容を削除するだけです

VS 2019を使用している場合、バージョンフォルダーの名前は16.0_<hash>です。


enter image description here

追加の手順として、上記の手順で問題が解決しない場合、VSの開発者コマンドプロンプト(管理者として)でコマンドDevEnv.exe /setupをオプションで実行できます。

90
silkfire

インテリセンスがカミソリファイルで機能しなくなると、次の3つの手順で問題を修正できる可能性が高くなります。

  1. Visual Studioを閉じます
  2. ソリューションユーザーオプションファイル(<solution-name>.suo)を削除します
  3. Visual Studioでソリューションを再度開きます。

インテリセンスオプションのその他のsolutionshere にあります。

16
Mike

この原因の1つは、mvc4アプリケーションのwepageがバージョン3に設定されている場合、web.configアプリの設定でバージョン2に変更するだけです。

  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
15
John

プロジェクトをMVC 5.2.3にアップグレードした後、Visual Studio 2013でこれを経験していました。私にとってうまくいったのは、NuGetパッケージが多くのMVC 4.0参照を含むweb.configを残したため、「Views」フォルダー内のweb.configを次のものに置き換えることでした。

<?xml version="1.0"?>

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="Host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.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.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="InvestureApps" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

  <appSettings>
    <add key="webpages:Enabled" value="false" />
  </appSettings>

  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
</configuration>
13
Kevin Hirst

私の場合、「Xamarin」(モバイルアプリ開発ツール)が問題です。 Xamarinをアンインストールした後、カミソリIntellisenseは正常に動作します。

http://forums.xamarin.com/discussion/24892 ...

4
Palanikumar

同じ問題がありました。 VS 2012を使用していますが、VS 2013とVS 2012の両方に適用されるダウンロードがあります。かなりの修正(web.configの処理、NuGetによるMVCのアンインストール/再インストールなど)を試しましたが、私のために働いたのはこれをインストールすることだけでした(再び、私にとっては、VS 2012用)

VS 2013 with ASP.NETおよびWeb Tools 2013.1 http://www.asp.net/downloads

3
Nigel G

私のプロジェクトはVS2012からVS2013にアップグレードされ、これで問題は解決しました。

Web.configファイルの「webpages:Version」を「1.0.0.0」から「2.0.0.0」に変更します

<appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
3
Joshua Leonard

Visual Studio 2017でこの問題が発生しました-ソリューションが配置されているディレクトリに移動して.the vsフォルダー(非表示フォルダー)を削除すると、問題が修正されました。

2
Philipo55

この問題を引き起こす多くの理由があるようです。

私の場合、別のプロジェクトからいくつかのコード/ファイルをコピーしましたが、その後Intellisenseが機能しません。これは、コピーしたファイルに異なる名前空間があるため、Intellisenseが機能しないためです。名前空間を修正して、再び機能するようにします。

1
Eng. Samer T

私の場合、これで問題が解決しました。バージョン値を3から2に変更するだけで、うまくいきます。

多くの検索とテストを行った後、2013またはアップグレードされたバージョンをインストールしなくても、2012年のこの色の問題を解決できることがわかりました。 VS 2012を閉じて、インストール後に再起動します。

ダウンロードリンクは、 https://www.Microsoft.com/en-us/download/details.aspx?id=41532

それは私のために働いた。すべての人に役立つことを願っています。

0
NewUser

インストール ASP.NETおよびVisual Studio 2012用のWebツール2013.1 私のために働いた:

これを機能させるには、VSを再起動する必要がある場合があります。

0
csharpsql

Webアプリケーションに領域がある場合、Areas/Viewsフォルダーに別のWeb.configファイルがあり、私の場合、この構成ファイルが原因であることに注意してください。

また、Web.configに変更を加えた後にVisual Studioを再起動する必要がある場合があります。ソリューションを再構築しても変更が反映されないようです。少なくとも私にとってはそうではありません。

0

私は同じような状況にありましたが、その後、かみそりビューが私のプロジェクトに含まれていないことに気付きました。プロジェクトに含めると(ビューファイルを右クリックして[プロジェクトに含める]を選択すると)、Intellisenseが表示されます。

0
mkimmet

新しいビューをIntellisenseで取得するには、[プロジェクトに追加]を右クリックする必要がありました。

0
Sheldon

私の場合、Resharper(2018.3 EAP 3)の新しいバージョン(ナイトリービルド)をインストールすると役に立ちました。

0

よく似た問題を乗り越えたところです。既存のアプリケーションでは、Razorビューにインテリセンスが提供されていませんでしたが、新しいアプリケーションを作成できて、機能しました。足場を使用してエンティティの新しいコントローラーとビューを作成することで、問題を解決できました。インテリセンスは新しいエンティティで機能し、既存のエンティティでも機能しました!

0
Roland Wales

私の場合、上記のどれも機能しませんでした。ここに私の問題を解決するためにしたことを示します。

VSでプロジェクトを読み込み、そのままにして、Notepad ++または任意のテキストエディターでyour-project-name.csprojを開き、Contentタグを削除するなど、いくつかの変更を加えます(心配しないで、一度戻ってきます) VS Solution Explorerに再インクルードします)、変更を保存すると、Visual Studio IDEが変更を検出し、プロジェクト全体のリロードを要求します。[はい]をクリックすると、IntelliSenseコードが戻ります。

私は使用しています:Microsoft Visual Studio Professional 2019 Preview Version 16.3.0 Preview 2.0

それが役に立てば幸い。

0
Jack