Mac(OSX)でdefault monoのversion指定方法

Mac(OSX)ではHomebrewで最新Mono(Runtime/MDK)を入れても,Visual Studio起動時に,最新のMonoMDKを入れるよう指示がなされる.

Visual Studioの指示通り,手動でMDKを入れると,将来古くなったMDKを手動で削除しなければならなくなり,ストレージの容量無駄や,古いMDKを使う落とし穴に落ちてしまう恐れがある.

対処方法として,MDKはFrameworks形式に従っており,つまる所,使用するMDK Verをシンボリックリンクで指定する.

方法1: Visual Studio(VS)で設定

VSのユーザ設定->プロジェクト-.NETランタイムで所望するVerを規定値にする.

方法2: 手動で設定

# 下記,必要なら(任意)
homebrew cask install mono-mdk
# ver確認
mcs --version
# Mono C# compiler version 5.16.0.0
cd /Library/Frameworks/Mono.framework/Versions
ls
# 下記に導入済みMDK一覧が表示される
5.16.0      5.18.1      5.20.1      Current
ls -l Current
lrwxr-xr-x  1 root  admin  6  6 18 16:41 Current -> 5.16.0

上記では,導入済みの3つのverの中で最も古い5.16.0にシンボリックリンクはられている.これを下記より最新(5.20.1)にする

sudo mv Current Current.bak
sudo ln -s 5.20.1 Current
mcs --version
# Mono C# compiler version 5.20.1.0
# 必要ならbackup削除
# sudo rm Current.bak