参照コンポーネント 'VBIDE' が見つかりませんでした。

Surface6を買って、VisualStudioやらOffice2016やらをセットアップして、仕事を始めてみると、これまではビルドできていたプロジェクトが、エラーが出てビルドできない。なぜ?急に?こういうのばっかり。


エラーを読むと、参照に追加しているVBIDEの参照先が見つからないと云われている。
  • 警告 タイプ ライブラリ "VBIDE" のラッパー アセンブリが見つかりません。次のことを確認してください。(1) COM コンポーネントが正しく登録されている。(2) ターゲット プラットフォームのビットが COM コンポーネントと同じである。たとえば、COM コンポーネントが 32 ビットの場合、64 ビットのターゲット プラットフォームは使用できません。
  • 警告 参照コンポーネント 'VBIDE' が見つかりませんでした。

他のプロジェクトでは、Microsoft.Office.Coreが見つからないというのもあった。

パソコンを変えたのが理由なのはわかる。多分、前のパソコンにはこれらのDLLがあったのだろう。しかし、VisualStudio2017をセットアップして、Office2016も入れて、さらにVisualStudioのOffice/SharePoint開発も追加しているのに、なにが足りないというのか。

調査

少し調べてみると、VBIDEのほうは「Microsoft Visual Basic for Applications Extensibility 5.3」という名前で昔から使われているものらしい。確かにエクセルだと参照できる。ふーむ。


下の方に表示されているパスを参考に探してみると、WindowsAppフォルダは隠しフォルダになっていて、しかも「C:\Program Files\WindowsApps」を開くことができない。


セキュリティ情報を見てみると、管理者グループにはフォルダ内を見る権限はあるみたいなのだが、実際は開けない。


所有者を変えればよいのかもしれないが、そこまでする意味もなさそうなので、ここでやめておく。

VBIDEはVBAの開発環境まわりだと思うのだけど、マイクロソフトとしてはVBAまわりの古いDLLはあまり使ってほしくないという感じなのかなあ、、、まあ、気持ちはわかります。

解決策

エラーが起きていたプロジェクトは、かなり昔に作ったもので、そのときに「VBIDE」が追加されたのだろう。そして今では不要になったのだろう。参照から外してビルドしてみたら問題なくビルドできた。これでOK。


コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。