INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2019-06-29 00:00 / 次へ→ / 最新へ⇒

■新PCでVisual Studio 2010を動かしたら、謎のエラーが出てIntelliSenseが効かなくなった

2019年 6月29日(土) 0:00:00 [さくらのブログから転記]



RSSRSS配信中
https://www.inasoft.org/



一昨日、新環境でのVisual Studioの動作確認を兼ねて、マウスのお供の最新β版を公開したことについて取り上げましたが、この際に、新PCでVisual Studio 2010を動かしたら、謎のエラーが出てIntelliSenseが効かなくなるという現象に見舞われました。

Visual Studio 2010を立ち上げて、エディタ上で何かしらの文字を打ち込むと、高確率で次のようなエラーメッセージが表示されます。

201906_vs2010_err1a.png

Visual Studio は例外を検出しました。拡張機能が原因である可能性があります。

 詳細な情報を得るには、コマンド ラインで /log パラメーターを指定してアプリケーションを実行し、'C:\Users\○○\AppData\Roaming\Microsoft\VisualStudio\10.0\ActivityLog.xml' ファイルを調べてください。

拡張機能などと言われても…まだ、Visual Studio 2010をインストールしたばかりであり、そこに何か拡張機能を入れた覚えはありません。とりあえず、指示に従い、Visual Studio 2010(devenv.exe)を /log オプション付きで実行しました。

すると、上記ファイルに次のようなメッセージが出力されていました。

201906_vs2010_err2.png



Type: ERROR

Description: System.InvalidCastException: 型 'System.__ComObject' の COM オブジェクトをインターフェイス型 'Microsoft.VisualStudio.TextManager.Interop.IVsTextReplaceEvents' にキャストできません。IID '{CF9928D9-65AE-4319-A446-94ED5C45ECDE}' が指定されたインターフェイスの COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、この操作に失敗しました: インターフェイスがサポートされていません (HRESULT からの例外:0x80004002 (E_NOINTERFACE))。 場所 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) 場所 Microsoft.VisualStudio.TextManager.Interop.IVsTextReplaceEvents.OnReplace(ChangeInput[] pCI) 場所 Microsoft.VisualStudio.Editor.Implementation.VsTextBufferAdapter.OnTextBufferChangedHighPriority(Object sender, TextContentChangedEventArgs e) 場所 Microsoft.VisualStudio.Text.Utilities.GuardedOperations.RaiseEvent[TArgs](Object sender, EventHandler`1 eventHandlers, TArgs args)

Source: Editor or Editor Extension



Type: ERROR

Description: 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)

Source: Editor or Editor Extension



エラーメッセージから何をどうしたらよいのかはさっぱり読み取れませんが、エラーメッセージの先頭の方の文字列をそのまま入れてググってみると解決策が見つかります。

201906_vs2010_err3.png

どうやら、64bit版Windowsの場合は、レジストリ エディタで「HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32」を開き、既定の値に「C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll」と入れてやればよいらしい。

ちなみに、32bit版Windowsの場合は、レジストリ エディタで「HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32」を開き、既定の値に「C:\Program Files\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll」を入れてやります。

すると、無事にエラーが出なくなり、IntelliSenseも効くようになりました。

まさか、2019年にもなって、Visual Studio 2010のエラーに悩まされることになるとは…。





目次 | ←前へ / 2019-06-29 00:00 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3212228 (+0139)[+0218]

Copyright© 2010-2024 INASOFT