1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Visual Studio 2022 17.11.5 と Xcode 15.4 で MAUI を使う

Posted at

要点

  • Visual Studio 2022 を 17.11.5 にバージョンアップしたら、これまで使っていた Xcode 15.4 が使えなくなり、Xcode 16 の利用を強制された
  • 原因は 17.11.5 と同時にインストールされる .NET SDK 8.0.403 が、 ios/mac の Xcode 16 用の MAUI workload をインストールしてしまうため
  • .NET SDK 8.0.402 をインストールし、dotnet workload restore コマンドを実行することで Xcode 15.4 を利用する環境に修復可能
    • Xcode 16 は Xamarin が対応していない…

開発環境 (Visual Studio アップデート前)

Android / iOS マルチプラットフォームアプリ開発 (Xamarin 製アプリのマイグレーション)

  • Windows 11
    • Visual Studio 2022 17.11.4
    • .NET SDK 8.0.402
    • Workload version: 8.0.402
  • macOS 14.7
    • Xcode 15.4

Visual Studio アップデート後

  • Visual Studio 2022 17.11.4 -> 17.11.5
    • .NET SDK 8.0.402 -> 8.0.403
    • Workload version: 8.0.402 -> ? (控え忘れました…)

この状態で mac マシンとペアリング & iOS アプリをビルドすると、「Xcode 16 を使え」という旨のビルドエラーになる。

解決手順

1. .NET SDK 8.0.402 をインストールする

Visual Studio アップデート時に 8.0.403 以前のバージョンの SDK がアンインストールされてしまった場合、新たに 8.0.402 をインストールする (少なくとも 2 つのバージョンの SDK が共存する状態になる)。

terminal
> dotnet --list-sdks
8.0.402 [C:\Program Files\dotnet\sdk]
8.0.403 [C:\Program Files\dotnet\sdk]

2. global.json を設置する

従来どおりに Xcode 15.4 を利用して開発したいソリューションよりも上の階層 (もしくはソリューションファイルと同じ階層) のディレクトリに下記内容の global.json ファイルを設置する。

global.json
{
  "sdk": {
    "version": "8.0.402",
    "workloadVersion": "8.0.402"
  }
}

これで、この global.json ファイルよりも下層のディレクトリにあるソリューションでは .NET SDK 8.0.402 が利用されるようになる。

global.json よりも上位階層のディレクトリで実行
> dotnet --version
8.0.403
global.json と同じまたは下層のディレクトリで実行
> dotnet --version
8.0.402

3. 対象ソリューションのワークロードをリストアする

ターミナルで Xcode 15.4 を利用した開発を実施したいソリューションファイルの階層にカレントディレクトリを移動し、下記コマンドを実行する。

terminal
> dotnet workload restore

当該階層に複数のソリューション or プロジェクトファイルがある場合は、 restore のターゲットを明示してコマンドを実行する。

terminal
> dotnet workload restore <PROJECT | SOLUTION>

また、 global.jsonworkloadVersion を設定していない場合は、ワークロードのバージョンを指定して実行する必要がある。

terminal
> dotnet workload restore  --version 8.0.402

以上の手順で、Visual Studio の新バージョンを使いつつ、Xcode 15.4 での iOS アプリ開発を続行できる…はず。

参考資料

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?