OSはmacOS High Sierraで確認した。
ログインシェルをfish shellにしているとVSCodeのOmnisharpがエラーを吐く
エラー内容
VSCodeでC#を書く時に下記の拡張機能を利用している。
https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp
この拡張機能がC#の補完をするのにOmnisharpを使用しているのだが、ログインシェルをfishにしているとOmnisharpが下記のエラーを吐く。
The reference assemblies for framework ".NETFramework,Version=v4.6" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.
修正方法
ログインシェルをbashとかzshとかに変更してMacを再起動する。
VSCodeの再起動だけではだめだった。
原因
不明。
POSIX非互換だとかパスの区切りの方法が違うとか思いつくけどそこまで調べきれなかった。
はじめはdotnetかMonoのバージョンが関係するのかと思い、何度も別のバージョンをインストールしたが直らなかった。