📦
dotnetのworkloadが勝手にアップデートされて困ったのでバージョンを指定する
概要
.NETでmacOSアプリを作っている時、ワークロードが勝手に更新されてしまってビルドが通らなくなりました。流れとしては
- ワークロードがアップデートされる。
- 最新のmacOSに対応するため、最新のXCodeを求められる。
- 最新のXCodeを入れるには最新のmacOSが必要。
という流れです。これが非常に困る。開発機をポンポン最新のOSにアップデートできない。ワークロードのバージョンを指定したいけどそんなオプションがない。
解決策
--from-rollback-file
というコマンドを使って、バージョンを記述しているJSONを読み込ませる事でバージョン指定が可能。
{
"microsoft.net.sdk.macos": "14.5.8030/8.0.100"
}
これを例えばrollback.json
という名前で保存したとしたら、以下コマンドでバージョン指定ができます。
dotnet workload update --from-rollback-file rollback.json
参考
私がやった時はinstallコマンドでオプションでJSONを指定していましたがそれではうまくいかず、このissueを参考に一旦updateをかけたらうまくいきました。
Discussion