1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

この機能は不明な 'ms-vscode.csharp' 拡張機能に依存しています。 を解決する

Last updated at Posted at 2020-03-13

この問題の原因

  • VSCodeの拡張機能のC#のアップデートでpublisherが変更された
  • C#に依存する拡張機能で、この変更にまだ対応していないもので問題が発生(参照先が古い)
  • (Debugger for Unityとかで起こってる問題。アプデあんまされてない拡張機能なこともあり)

解決法

解決法は2つある。C#に依存する拡張機能をいじって参照先を新しくするか、C#の古いバージョンを持ってくるかである。
あんまりアップデートされない拡張機能なら前者の方法が良いと思う。

C#に依存する拡張機能をいじる方法

  1. VSCodeのMarketPlaceでエラーの出る拡張機能のページへ
  2. 右のほうの「Resources」欄に「Download Extension」があるのでクリックしてダウンロード。
  3. 「(拡張機能名).vsix」または「Microsoft.VisualStudio.Services.vsix」がダウンロードされる。
  4. これの拡張子を「.zip」にして解凍する。(7-zipとかのアーカイバで拡張子そのまま解凍できるが)
  5. 解凍されたフォルダをVSCodeで開く。
  6. VSCodeの検索機能で「ms-vscode.csharp」を「ms-dotnettools.csharp」に置き換え。
  7. 保存して再び圧縮。拡張子を元に戻す**(フォルダ自体を圧縮して二重にならないように注意)**
  8. VSCodeの拡張機能で右上の「…」ボタンからメニューを開いて「VSIXからのインストール」

(インストールするときに「zip ファイルの中に extension/package.json が見つかりません。」というエラーが出るときはフォルダ自体を圧縮して二重になっている。「extension」フォルダがある階層で圧縮する。)

C#の古いバージョンを持ってくる方法

  1. ここから古いバージョンのC#のVSIXファイルをダウンロード(VSCodeのMarketPlace公式です)
  2. VSCodeの拡張機能で右上の「…」ボタンからメニューを開いて「VSIXからのインストール」

(これはVSCodeのMarketPlaceでDownload ExtensionをクリックしたときにリクエストされるURLをpublisherが変更される前のバージョンのものに一部変更しただけ)

個人的感想

そもそもVSIXというパッケージなのを知らなかった。というかこれアーカイブファイルくさいなとおもって試しにzipにしてみたらうまくいってビビった。(最初バイナリレベルで参照先書き換えようとしてたけど)
ググってばっかいないで自分で試すのも大事だったという話。(ググっても出ないものは出ない)

…自分向けメモのまま散文ですいません

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?