2023年8月18日金曜日

Xamarinプロジェクトのエラーを解決してみた!

数年前に作成したVisual Studio 2019のXamarinプロジェクトを、まっさらなパソコンでビルドしたところ、いくつかエラーが発生しました。その解決メモです。

.NETのインストール


まず、下記のエラーが発生し、プロジェクトが「アンロード済み」となり、読み込まれませんでした。


error  : プロジェクト ファイルを開けません。 
.NET SDK バージョン 7.0.304 では、MSBuild バージョン 17.4.0 以上が必要です。
現在利用可能な MSBuild のバージョンは 16.11.2.50704 です。
global.json で指定した .NET SDK を、現在利用可能な MSBuild バージョンが求められる古いバージョンに変更します。


プロジェクトのターゲットフレームワークは「.NET Standard 2.0」です。
下記のサイトに


netstandard がターゲットの既存のコードの場合は、TFM を net5.0 から net6.0 に変更する必要はありません。
 .NET 5 と .NET 6 により、.NET Standard 2.1 以前が実装されます。

と書かれています。

Visual Studio 2019では、.NET 6以降は正式にサポートされていないため、(すでにサポートは終了していますが).NET 5をインストールする必要があります。Visual Studio Installerを使ってはうまくインストールできなかったため、.NET 5のダウンロードサイトからダウンロードし、インストールしました。

ちなみに、エラー内容にある「.NET SDK バージョン 7.0.304」は、Visual Studio 2022のインストールで「.NETマルチプラットフォームアプリのUI開発」をチェックした際に、インストールされたSDKです。

JDKのインストール


次に、Xamarin.Androidプロジェクトをビルドすると、下記のエラーが発生しました。


$(TargetFrameworkVersion) v12.0 を使用するときには、Java SDK 11.0 以上が必要です。


まっさらな環境なので、JDKもインストールしていません。
下記のダウンロードページからOpenJDK 11をダウンロードし、インストールします。


そして、[ツール] > [オプション] > [Xamarin] > [Android 設定]の「Java Development Kit の位置情報」から「JDK 構成」を開き、インストールしたJDK11のパスを指定します。


残念なことに、VS2019の仕様なのかバグなのか、VS2019を終了するとこの設定は元に戻ってしまい、起動するたびに再設定しなくてはなりません。。。

Android SDKのインストール


ビルドすると、まだエラーが発生します。


API レベル 31 の android .jar が見つかりませんでした。
これは、API レベル 31 の Android SDK プラットフォームがインストールされていないことを意味します。Android SDK マネージャー ([ツール] > [Android] > [Android SDK マネージャー...]) にインストールするか、インストールされている API バージョンを対象とする Xamarin.Android プロジェクトを変更します。(C:\Program Files (x86)\Android\android-sdk\platforms\android-31\android.jar がありません。)


API レベル 31、つまりAndroid 12が必要です。
ところが、Android SDK マネージャーを開いても、Android 12が表示されません。


下部の歯車アイコンを押下し、[リポジトリ] > [Google(サポート対象外)]の方を選択すると、「Android 12.0」が表示されるので、チェックしてインストールします。
これで無事にビルドすることができました。


またいつか、どこかで。

0 件のコメント:

コメントを投稿