web-dev-qa-db-ja.com

MVC 5を使用したVS 2012でRazor構文の強調表示が機能しない

Visual Studio 2013 RCでMVC 5 RC 1をいじっています。とてもうまくいきます。

ここで、VS 2012の既存のMVC 4プロジェクトを、説明と同じ方法でMVC 5にアップグレードしました here

Web.config(s)も変更しました-「 MVC4からMVC5へのアップグレード 」を参照してください

ビューでのRazor/C#コードの構文強調表示を除き、すべて(ビルド、Webアプリの実行、インテリセンスなど)は完全に機能します。

VS 2013で作成されたMVC 5プロジェクトでも試してみました。同じ結果です。だから、VS 2012は新しいアセンブリを「理解」していないと思いますか?!

ハイライトを取り戻すための既知の回避策やアイデアはありますか?

47
Andreas

Microsoftは、VS 2012用のASP.NET Webツールの新しいバージョンをリリースしました。インストール後、構文の強調表示が再び表示されます。

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

VS 2012 Update 4のインストールでは不十分でした。

オフラインインストーラーのセットが利用可能です。オフラインインストーラーは、Web Platform Toolsの呼び出し(WebNode11Pack.exe @〜114KB)よりも使いやすいです:

オフラインインストーラが必要な場合は、 http://www.Microsoft.com/en-us/download/details.aspx?id=41532 にアクセスしてください

  • AspNetWebTools2013_1Setup.exe @〜39MB
  • WebToolsExtensionsVS.msi(Visual Studio 2012standard edition [s])@〜21MB
  • WebToolsExtensionsVWD.msi(Visual Studio 2012無料の「Web」エディション[s])@〜21MB
75
Andreas

Visual Studio 2012用のASP.NETおよびWeb Tools 2013.1がリリースされ、VS 2012でのMVC5インテリセンスの問題が解決されるはずです。

このリリースでは、大幅な改善が多数行われ、Visual Studio 2012およびVisual Studio 2012 Express for Webのユーザー向けに、ASP.NET MVC 5、Web API 2、Scaffolding、Entity Frameworkの素晴らしい機能強化が含まれています。

アップデートをダウンロードできます: 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

モデレーターへ:これは単なるダウンロードリンクかもしれませんが、これで問題は解決し、私にとってはうまくいき、これを回答として投票したユーザーにとってもうまくいきました。削除する場合は、理由を入力してください、ありがとう!

16
hatsrumandcode

この回答 VS2012はRazor 3を理解できないと主張しているため、あなた(および私)はVS2013にアップグレードする必要があります

9
flipchart

同じプロジェクトでVS2013を使用している場合、VS2012でIntelliSenseを動作させるための回避策を現在使用しています(これは適切に動作しないと仮定しています)。 b)Razor 3機能を使用しようとした場合):

古いwebpagesバージョンを使用するようにweb.configを変更します。

_<add key="webpages:Version" value="2.0.0.0" />
_

これが本番環境に影響を与えないようにするために、web.config変換を追加しました。

_<add key="webpages:Version" value="3.0.0.0" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
_

残念ながら、この回避策には問題があります(これまでのところ気づいています):

  • 拡張メソッド(Html.RenderPartial()などは認識されず、デザイナーにエラーとして表示されます)。
6
Knaģis

私はマイクロソフトの開発者からこの答えを得ました:

VS 2012のMVC 5/Razor 3ツールのサポートはまだ出荷されていません。このサポートは11月中旬に出荷する予定です。

したがって、受け入れられた答えは今のところ正しいですが、VS2012でもすぐにこのサポートを行う予定です。

6
Knaģis

microsoft Platform Installerに「Visual Studio 2012用のASP.NETおよびWebTools 2013.1」をインストールする

3
chsword

私にとっての問題は、ビルドファイルがbin以外のディレクトリに出力されることでした。ファイルがbinに出力されると、構文の強調表示が元に戻りました。

これを修正する1つの方法は、プロジェクトルートbinフォルダー内のファイル(プロジェクト外のフィルターに対して)をターゲットディレクトリにコピーするビルド後アクションを作成することです。

次の記事で説明しています: http://www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013/

1
Ryan Griffith