ソース編集で配色とかがおかしくなるときの対処

ある日突然ですが、IDEがこんなエラーを発するようになりました。

Snapcrab_microsoft_visual_studio_20

(ユーザ名のところは消しています)

エラーが発生すると、単語単位で変更される予約語の配色とか、エラーがある部分に対する波線とかが崩れてしまいます。

001

エラーメッセージに書いてあるActivityLog.xmlをブラウザで開くとエラー内容が記録されています。

Snapcrab_activity_monitor_log_windo

System.InvalidCastException: 型 ‘System.__ComObject’ の COM オブジェクトをインターフェイス型 ‘Microsoft.VisualStudio.Editor.Implementation.IVsTextStreamEvents_Private’ にキャストできません。IID ‘{96FC7D44-BCDD-4F00-AE4D-07E26B2C0E52}’ が指定されたインターフェイスの COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、この操作に失敗しました: インターフェイスがサポートされていません (HRESULT からの例外: 0x80004002 (E_NOINTERFACE))。   場所 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)    場所 Microsoft.VisualStudio.Editor.Implementation.IVsTextStreamEvents_Private.OnChangeStreamText(Int32 iPos, Int32 iOldLen, Int32 iNewLen, Int32 fLast)    場所 Microsoft.VisualStudio.Editor.Implementation.VsTextBufferAdapter.OnTextBufferChanged(Object sender, TextContentChangedEventArgs e)    場所 Microsoft.VisualStudio.Text.Utilities.GuardedOperations.RaiseEvent[TArgs](Object sender, EventHandler`1 eventHandlers, TArgs args)

上記エラーコードとIIDを検索するとKBでこんなものがヒットしました。
Visual Studio 2010 crashes after installing MSDN Library for Visual Studio 2008
英語ですが、内容としては「レジストリがぶっ飛んでるから、再登録して」ということみたいです。
対象はVS2010となっていますが、VS2012でも同じ対応で問題ありませんでした。

OSによりレジストリの位置と登録内容が若干異なります。
○32-Bit Windows
 ・レジストリの位置
   [HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32]
 ・登録内容:「(規定)」に以下の内容を登録します。
  C:\Program Files\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll

○64-Bit Windows
 ・レジストリの位置
   [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32]
 ・登録内容
  C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll

VSの再インストールでも対処できるのですが、さすがに再インストールは大変ですので、まずはこちらの手順でどうぞ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください