ソリューションを VS2010/MVC3/.Net 4 から VS2012/MVC4/.Net 4.5 にアップグレード中です。ソリューションは VS2012 のプロジェクト移行ツールを使用してアップグレードされており、このガイドに従って MVC3 を 4 にアップグレードしました。
現時点では、Razor が問題を引き起こしています。構文の強調表示は、レイアウト ページ以外には表示されず、ビュー内を移動しようとすると、次のダイアログが表示されます。
バックグラウンド操作が完了するのを待っています。このダイアログは、操作が完了すると閉じます。
または、Visual Studio アクティビティ ログ (C:\Users{User}\AppData\Roaming\Microsoft\VisualStudio\11.0\ActivityLog.xml) を確認するようにというエラーが表示され、次のエラーが発生しました。
System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。Microsoft.VisualStudio.Web.HTML.Implementation.Projection.GrowingSpanTracker.EnsureNoOverlap() で Microsoft.VisualStudio.Web.HTML.Implementation.Projection.GrowingSpanTracker.EnsureTrackingPoints() で Microsoft.VisualStudio.Web.HTML.Implementation.Projection.GrowingSpanTracker .OnTextBufferChanged(オブジェクト送信者、TextContentChangedEventArgs e) Microsoft.VisualStudio.Text.Utilities.GuardedOperations.RaiseEvent[TArgs](オブジェクト送信者、EventHandler`1 eventHandlers、TArgs args)
ログのソース列には、「エディターまたはエディター拡張機能」からのものであることが示されています。私はここでバニラ VS2012 を実行しています。ファースト パーティのもの (Microsoft Web 開発者ツール、NuGet パッケージ マネージャー、および Visual Studio Extensions for Windows Library for JavaScript) 以外の拡張機能はありません。
編集:いくつかの追加の詳細。新しいソリューションと MVC4 プロジェクトを作成する場合は、次の行を追加します。
@RenderSection("title", false)
レイアウトに追加し、ビューでセクションを定義しようとします:
@section title{Stuff}
中括弧内に「Stuff」と入力し始めた瞬間、同じエラー/動作が発生します。