web-dev-qa-db-ja.com

VS 2013/2015/2017でMVC RazorビューのIntellisenseが破損する

私はVS2010で書かれた既存のプロジェクトを持っていますが、VS2010でロードすると完全に機能します。

この同じプロジェクトをVS2013にロードすると、MVC Razorビューには、設定フォルダーがビューフォルダーにないかのように多くのエラーが含まれます。

ルートフォルダーとビューフォルダーの両方から構成ファイルを使用してRazorエディターを正しくロードしていないようで、代わりに次のようなエラーが表示されます...

The name 'model' does not exist in the current context

そして...

'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for 'LabelFor' 
and no extension method 'LabelFor' accepting a first argument of type 
'System.Web.WebPages.Html.HtmlHelper' could be found 
(are you missing a using directive or an Assembly reference?)

...

何がこれを引き起こすのでしょうか?

編集:要求された構成ファイル....

メインのweb.configファイルから(投稿するには大きすぎるため、すべてではありません)

<runtime>
    <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Ninject" culture="neutral" publicKeyToken="c7192dc5380945e7" />
            <bindingRedirect newVersion="3.0.0.0" oldVersion="0.0.0.0-3.0.0.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Validation" culture="neutral" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect newVersion="5.0.505.0" oldVersion="0.0.0.0-5.0.505.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Web" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

「〜/ Views /」の設定ファイル...

<?xml version="1.0"?>  
<configuration>
    <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" />
                <add namespace="Emedia.Common.Mvc.Views.Helpers"/>
                <add namespace="Emedia.Common.Mvc.Views.Extensions"/>
        <add namespace="Emedia.Common.Utilities"/>
        <add namespace="Emedia.Common.Utilities.Extensions"/> 
        <add namespace="Emedia.Common.Mvc.Controllers.Helpers"/>
                <add namespace="Emedia.Resources.Service"/>
        <add namespace="Emedia.Subscriber.Controllers"/>
        <add namespace="Emedia.Subscriber.Controllers.ViewModels"/>
            </namespaces>
        </pages>
    </system.web.webPages.razor>

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

    <system.web>
        <httpHandlers>
            <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
        </httpHandlers>
        <pages
            validateRequest="false"
            pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
            pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
            userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <controls>
                <add Assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
        </controls>
    </pages>
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />

    <handlers>
        <remove name="BlockViewHandler"/>
        <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
</system.webServer>
47
War

@ChrisMoschiniの投稿を編集することを検討しましたが、十分に違うと思いました。私の問題は、新しいMVC5アプリケーションを開始し、テンプレート/開始点として使用したい古いMVC3プロジェクトからweb.config設定を過剰にコピーしたことです。これを行うと、web.configで無効なバージョンが参照されることになります。

修正するために、別の新しいMVC5プロジェクトを作成し、悪いプロジェクトの次の構成値が、変更されていないVanilla MVC5アプリと一致することを確認しました。 繰り返しますが、これらのバージョン番号をやみくもにコピーしないでください。動作させようとしているバージョンのVanilla MVCアプリと一致することを確認してください

ルートweb.config

<appSettings>
    ...
    <add key="webpages:Version" value="3.0.0.0"/> 
    ...
</appSettings>
<system.web>
    ...
    <compilation debug="true" targetFramework="4.5.1"/>
    <httpRuntime targetFramework="4.5.1"/>
    ...
</system.web>

の中に Views\Web.config

<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>


<system.web.webPages.razor>
  ...
  <Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  ...
</system.web.webPages.razor>
60
viggity

私のプロジェクトのいくつかでは、この問題が数か月にわたって続きました。私は非常に多くの回避策を試しましたが、何も機能しませんでした。問題はプロジェクトにあるように見えました。同じプロジェクトでは、Visual Studioを搭載したすべてのPCでIntellisenseの問題が発生します。最後に、私はこの投稿を読みました: http://www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013 /

私たちの場合、原因は、これらすべてのプロジェクトの出力ディレクトリが「bin \」以外に変更されたことです。 OutputPathを「bin \」に戻す(およびプロジェクトをクリーンアップし、Visual Studioを閉じてから再度開く)ことで、Intellisenseを取り戻しました。

上記の投稿は、Intellisenseを保持しながら、別の出力ディレクトリを維持する回避策も提供しました。

これがいつか誰かを助けることを願っています。

15
Jim

MSは、VS2013では「Intellisense for Razor(CSHTMLおよびVBHTML)ファイルはHTMLマークアップに限定される」と述べています。

ただし、各.cshtml内に次の2行を追加すると、VS2013のMVC3でインテリセンスが再び機能します。

@using System.Web.Mvc.Html
@inherits System.Web.Mvc.WebViewPage<dynamic>

dynamicの代わりに、モデルのタイプを置くことができます。

8
SergeyT

MVC3プロジェクトをMVC5にアップグレードし、Microsoftが推奨するこの問題に対する唯一の真の答えを避けるために、できる限りのことを行いました。

新しいプロジェクトからやり直し、結果​​のビットを既存のプロジェクトに移植します。

そのプロセスは大きな時間の浪費であり、マイクロソフトは実際のアップグレードパスを実行可能にする必要があるように見えますが、ここでの問題は技術的なものではなく感情的なものです。 、次を新しいMVC5プロジェクトの結果に置き換えます。

\Packages\*
\Project\Project.csproj
\Project\packages.config
\Project\Web.Config
\Project\Views\Web.Config
\Project\Areas\*\Views\Web.Config

そうでない場合は、物事を爆破している1つの設定を見つけようとして、永遠に円を巡回するだけです。私たちのケースでは、新しく作成されたRazor Intellisenseで動作するMVC5プロジェクトとまったく同じWeb.Configsがあり、見つけられるあらゆる種類のアップグレードツールを実行していました。インテリセンスは仕事を拒否しました。

.csprojやweb.configsなどを吹き飛ばした後、Intellisenseは魔法のように生き返りました。 2つの側面を比較すると、私が見つけた答えはどれも、私が見ているものと一致しません。 Web.Configsはほぼ同一であり、異なる部分は無関係です。主な変更点は、実際には\ Packages \にあるものです-古いRazor、MVC、およびWebPagesの多くのdllがなくなりました。それはトリックかもしれませんが、それをスキップして時間を大幅に節約してください。新しいMVC5プロジェクトを作成し、上記のファイルをダンプするだけです。これが唯一の健全なアップグレード方法です。

7
Chris Moschini

私は最近、この問題を自分で解決しました。 MVC4からMVC5(具体的には5.1)にアップグレードしました。 MVCの新しいバージョンにアップグレードすると、この混乱が生じ、私はそれを解決するために何時間も費やしました。 Web.Configファイルを少し変更すると、インテリセンスの問題が修正されました!

プロジェクトはVS2010で機能しますが、2013年では機能しないということですか?この回答を参照してください here

MVC5にアップグレードすることをお勧めします。それは苦痛ではなく、アップグレードはかなりシームレスなはずです。

MVC5にアップグレードしてもまだインテリセンスが得られない場合は、Web.Configファイルを手動で更新する必要があります。アップグレードでは正しく実行されない可能性があります。

これは、MVC5の変更を反映する必要がある/ Viewsフォルダー内のWeb.conifgの修正バージョンです。

<?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.1.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="Emedia.Common.Mvc.Views.Helpers"/>
            <add namespace="Emedia.Common.Mvc.Views.Extensions"/>
    <add namespace="Emedia.Common.Utilities"/>
    <add namespace="Emedia.Common.Utilities.Extensions"/> 
    <add namespace="Emedia.Common.Mvc.Controllers.Helpers"/>
            <add namespace="Emedia.Resources.Service"/>
    <add namespace="Emedia.Subscriber.Controllers"/>
    <add namespace="Emedia.Subscriber.Controllers.ViewModels"/>
        </namespaces>
    </pages>
</system.web.webPages.razor>

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

<system.web>
    <httpHandlers>
        <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
    <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <controls>
            <add Assembly="System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
    </controls>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

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

アップグレードがオプションではない場合、MVC3のインテリセンスサポートが必要な場合は、VS2010を引き続き使用する必要があると思います。ただし、MVC5にアップグレードすることを強くお勧めします。

6
Joshua H

これに出くわすかもしれない他の人のために、私は本当に私の問題を解決するか、それに関係しない以前の答えを見つけませんでした。とにかくこれを解決してインテリセンスを再び動作させる方法は、binフォルダーに移動してそこにあるすべてのファイルを削除してから、クリーン/リビルドして修正しました。

5
makinitmine

新しいプロジェクトを作成したとき、intellisenseは正常に機能しましたが、何らかの理由で現在のプロジェクトでは機能しませんでした。 Views/Web.configファイルで見つかった唯一の違いは、MVCバージョン5.2.0.0と新しいプロジェクト5.0.0.0があったことです。私たちのために働いたのはこれを変更することでした:

<Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,
     Version=5.0.0.0, Culture=neutral, PublicKeyToken=123JHJF56AD364E35" />

これに:

<Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,
     Version=5.2.0.0, Culture=neutral, PublicKeyToken=123JHJF56AD364E35" />
5
Simon Bengtsson

次の組み合わせにより、問題を解決できました。

  • 新しいMVCプロジェクトの作成
  • 既存のプロジェクトと新しいプロジェクトのビューweb.configファイルのバージョンを比較する
  • それに応じてバージョンを修正します(以下を参照)
  • Binフォルダー内のすべてのファイルを削除する
  • ソリューションのクリーニング
  • そして最終的にソリューションを再構築します
<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.2.3.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" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

  <appSettings>
    <add key="webpages:Version" value="3.0.0.0"/>
    <add key="webpages:Enabled" value="false" />
  </appSettings>
  [...]
2
Norman

私はこれを何度も繰り返してきました。私は3番目の新しいプロジェクトに参加していますが、それは私を怒らせています!私は問題の理由を見つけたと思う。ファイルを追加しましたが、Visual Studioには含めませんでした。そこで、すべてのファイルを表示することを選択しました。

enter image description here

次に、追加したすべてのフォルダーについて、それらを含めます。

enter image description here

問題は、MVCサイトをプロジェクトとして開く場合にのみ表示され、Webサイトとして開く場合には表示されないように見えることです。

2
Andy Brown

この質問は解決されましたが、上記のどれも役に立たなかったため、将来の人々のためにこれを追加しています:

管理者としてVisual Studioを実行してみてください。

どういうわけか、私のNugetパッケージ(System.Web.Mvcなどのすべての必要な参照を含む)を削除しようとしたときに、MyPC\Meからの許可が必要だと言われました。 )いずれにしても、少なくとも管理者として実行すると、少なくともintellisenseを修正したファイルにアクセスできます。

2
emragins

私の場合、すべてのビューをエリアからルートビューフォルダに移動したので、web.configがどこにあるかについてVSが混乱したと思います。 web.configからWeb.configに名前を変更し、構成の内容を編集しました(razor Host factory dllのバージョン番号を5.2.2.0から5.2.3に変更するなど)が、それを変更しましたバック。

その後、約30分間散歩し、戻ってきてVSを再起動しましたが、修正されました!

1
Beanwah

ツール、ライブラリパッケージマネージャーのパッケージマネージャーコンソールを使用して、NuGetパッケージを更新します。

コマンドラインで.. PM> Update-Packageこれにより、NuGetパッケージが更新され、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.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="System.Web.Webpages"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>

ソリューションを閉じて、再度開きます。

これがうまくいくことを願っています!!!

1
Raghu

最終的には、ネットワークサーバーのクラッシュのためにPCで他の多くの問題が発生し、最終的にVisual Studioを再インストールしました。

これは明らかに問題を解決しました...どのように私は知りませんが、それはしました。

多分私の場合、それは典型的な問題ではなく、単にインストールの欠陥だったのだろうか。

そのため、これを回答としてマークしますが、他のすべての返信はこの問題に対する潜在的に良い回答であるため、+ 1します。

しかし、Microsoftは、Visual Studio 2013は4よりも低いバージョンのMVCでインテリセンスをサポートしていないことを明確に示しているので、MVC 3を使用している場合は新しいバージョンのMVCを使用している場合はプロジェクトをアップグレードし、ここでは他に何も動作しないことを視覚スタジオを再インストールしてください。

また、注目に値します... MVCは現在はnugetパッケージなので、ダウンロード再配布からMVCをインストールしないでください。

1
War

から変更しました

<Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,
 Version=5.2.0.0, Culture=neutral, PublicKeyToken=123JHJF56AD364E35" />

これに:

<Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,
 Version=5.0.0.0, Culture=neutral, PublicKeyToken=123JHJF56AD364E35" />

そしてそれはうまくいきました!

1
StepUp

MVC 5では、エリアの下にフォルダーを追加するだけでエリアを追加しようとすると、コントローラー、ビュー、モデルなどのサブフォルダーに、エリアを登録する* AreaRegistration.csファイルやweb.configがありません。ビューに含めるかみそりの要素をVSが理解できるビューで。その結果、ViewBagのようなビューではインテリセンスがビューで機能しません。これらのファイルの作業例を他のエリアに持っている場合、それらをコピーして適切に更新できます-または、エリアを右クリックして追加-エリアを作成し、それらのファイルを作成してエリアからやり直すことができます。

同様の問題に遭遇しました。 VS2015 Community Editionで作成したMVC 5プロジェクトがあり、VS2013 Ultimateで作業する必要がありました。次の<system.codedom></system.codedom>ルートweb.configファイルからのブロックは、VS2013でのRazorビューでIntelliSenseが再び機能するようになったものです。

<system.codedom>
  <compilers>
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
  </compilers>
</system.codedom>
0
Casey Graves

私はこの問題を6か月間抱えていましたが、_@modelディレクティブをページの上部に。以前はコードブロック内にありました。

0
Steven

Visual Studio 2012を使用しています。上記のすべてを試してみましたが、最終的にインストールすると問題が解決します。

ASP.NETおよびWebツール2013.1: http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools- 2013-1-for-visual-studio-2012.aspx

0
RAY

私はほとんどすべてのソリューションを試しましたが、インテリセンスを取得できず、最後に解決策を見つけました:

  1. ソリューションエクスプローラーに移動
  2. .cshtmlファイルまたは任意のビューファイルを右クリックします
  3. [開く]オプションを選択し、HTMLエディター(デフォルト)をデフォルトとして設定します
0
Mac1

MVC 3から5にアップグレードすると、ルートディレクトリWeb.configでappSettingsキーwebpages:version2.0.0.0に設定されていることがわかりました。これを3.0.0.0に変更すると、この問題が修正されました。

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

0
Matthew Carroll

私はVS 2017 Professionalを使用しており、この投稿でほぼすべての回答を試しました。また、 その投稿 の回答も試しましたが、何もうまくいきませんでした。昨日、VSをバージョン15.2 (26430.6) Releaseに更新しました。intellisenseがcshtmlファイルに戻りました!

0

System.Web.Mvc参照のCopyLocalプロパティをtrueに設定してみてください。これはIntellisenseに役立つ場合があります。

0
Zachary Kniebel