Visual Studio 2022(Windows)で.NET MAUIのiOS/Androidを発行すると、xcarchiveや.aab自体は生成されているのにArchive Managerが空(No archive builds available)になり、配布作業が止まることがあります。まず配布を進める回避策と、一覧表示を復旧する修復手順を具体的に整理します。
.NET MAUIのArchive Managerが空になる現象とは
Visual Studio 2022(Windows)で.NET MAUI(例:.NET 7 / .NET 8)のアプリを「発行(Publish)」したとき、アーカイブ(iOSはxcarchive、AndroidはAABなど)は生成されているのに、Visual StudioのArchive Manager(アーカイブ マネージャー)に一切表示されないことがあります。表示は次のようなパターンになりがちです。
- 発行直後にArchive Managerが開き、「archiving…」→「completed successfully」になるが、進捗バーが止まらない
- いったん閉じて開き直すと、「No archive builds available」(空の一覧)になる
- しかしエクスプローラーでは、
C:\Users\<User>\AppData\Local\Xamarin\iOS\Archives\...に .xcarchiveが存在し、dSYMs/Products/Info.plistもあり容量もそれなりにある - Androidでも同様に、.aab(または.apk)は生成されるのにArchive Managerに出てこない
まず結論:アーカイブ生成は成功、一覧表示だけが壊れていることが多い
この症状は、ビルド/アーカイブ生成そのものは成功している一方で、Visual Studio側が「アーカイブ置き場」を走査して一覧化する処理に失敗しているケースでよく起きます。いわば「成果物はあるのに、カタログ(一覧)が作れない」状態です。
そのため対処は大きく2つに分かれます。
| 方針 | 目的 | 向いている状況 | 代表的な手段 |
|---|---|---|---|
| 回避策 | 表示は諦めて、配布作業を前に進める | 納期が近い/急いでAdHocやストア提出をしたい | iOSはXcode Organizer、Androidは.NET CLI(必要なら手動署名) |
| 修復策 | Archive Managerの一覧表示を復旧する | 今後もVSのGUI運用を続けたい/頻繁に配布する | Xamarinローカルフォルダー再生成、Archives配下の不要物除去 |
切り分け:本当に「成果物ができている」か確認するチェック表
まずは表示の問題なのか、アーカイブ自体が壊れているのかを切り分けます。次の表の「OK」が揃うなら、Archive Managerの表示不具合の可能性が高いです。
| 確認項目 | チェック方法 | OKの目安 | NGなら疑う点 |
|---|---|---|---|
| iOSのxcarchiveが存在する | %LOCALAPPDATA%\Xamarin\iOS\Archives\配下を確認 | *.xcarchiveフォルダーが作成され、サイズが数十MB〜数百MB | ビルド失敗、ペアリング不良、証明書/プロビジョニング不整合 |
| xcarchiveの中身が揃っている | Info.plist、Products、dSYMsを確認 | 主要フォルダーが存在し、空ではない | 途中で中断、コピー欠損、出力先の権限/容量 |
| AndroidのAAB/APKが生成されている | bin\Release\...\publish\などを確認 | *.aab(または*.apk)が作成される | 署名設定、Android SDK/Java環境、MSBuild設定 |
| Archive Managerのフィルター | Archive Manager右上のAll/iOS/Androidを切り替え | 少なくともどれかに出る(出ないなら表示不具合濃厚) | 一覧化処理の失敗、キャッシュ破損、フォルダー構造の崩れ |
回避策:表示できなくても配布を止めない(iOS/Android)
iOS:Xcode Organizerからアーカイブを開いて配布する
Visual StudioのArchive Managerが空でも、XcodeのOrganizer(Archives)から配布できることがあります。特にAdHoc配布やTestFlight配布は、最終的にXcode側のフローが確実です。
基本手順は次のとおりです。
- MacでXcodeを起動
- Window → Organizer → Archives を開く
- 該当アーカイブを選択して Distribute App を実行(AdHoc / TestFlight / App Store / Development など)
ここで注意点があります。Visual Studio(Windows)が出力した.xcarchiveがMac側のOrganizerに見えない場合、アーカイブをMacへコピーしてから開くと解決することがあります。
| 状況 | おすすめのやり方 | ポイント |
|---|---|---|
| Mac側のOrganizerに最初から出る | そのままDistribute App | 最短ルート。VS側の表示は気にしない |
| Organizerに出ない/見つからない | Windowsの.xcarchiveをzipしてMacへ転送し、ダブルクリックで開く | .xcarchiveはフォルダー。中身を欠損させず丸ごと移動する |
| GUI配布が詰まる | xcodebuild -exportArchiveでIPAを書き出す | CI/CDにも流用しやすい(ExportOptions.plistが必要) |
例:MacでIPAを書き出す(AdHoc例)。
xcodebuild -exportArchive \
-archivePath "/path/to/AppName.xcarchive" \
-exportOptionsPlist "/path/to/ExportOptions.plist" \
-exportPath "/path/to/export"
※ExportOptions.plistは配布方式(ad-hoc / app-store / development等)で内容が変わります。チームの配布ポリシーに合わせて作成してください。
Android:Visual StudioのGUIに頼らず.NET CLIでAABを作る
Android側は、環境や時期によってはVisual StudioのGUIよりCLIの方が安定します。Archive Managerに表示されない場合でも、CLIなら手順が明確でログも追いやすいです。
よく使うコマンド例(AABを生成し、署名もMSBuildプロパティで実施する例)です。Windows(PowerShell/コマンドプロンプト)でもそのまま実行しやすいように1行で記載します。
dotnet publish -c Release -f net7.0-android -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="C:\path\to\your.keystore" -p:AndroidSigningStorePass="***" -p:AndroidSigningKeyAlias="your_alias" -p:AndroidSigningKeyPass="***"
署名を後から行う場合は、生成済みAABに対してjarsignerを使う回避が可能です(keystoreとaliasが必要)。
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore "C:\path\to\your.keystore" "C:\path\to\app-release.aab" your_alias
※署名情報(パスワード等)はリポジトリに入れず、CIのシークレット管理に置く運用が安全です。
修復策:Archive Managerの一覧表示を復旧する(定番はXamarinフォルダー再生成)
ここからは「VSでの表示も直したい」方向けです。最も効きやすいのは、Visual Studioが参照するローカル保管領域をクリーンにして再生成させる方法です。
手順:%LOCALAPPDATA%\Xamarin を退避して再生成させる
- Visual Studioを終了する(可能なら関連するビルド/デバイスツールも閉じる)
- エクスプローラーで次を開く:
%LOCALAPPDATA%\Xamarin - フォルダーをリネームして退避(削除ではなく、まずバックアップ)
例:Xamarin→Xamarin_backup_20260102 - Visual Studioを起動し、再度アーカイブ(発行)を実行する
- Archive Managerにアーカイブが表示されるか確認する
この操作で、VSは必要なフォルダー構造を作り直します。退避した方に残っている過去アーカイブが必要なら、復旧後に「必要なxcarchiveだけ」を新しいフォルダーへ戻すのが安全です(丸ごと戻すと再発することがあります)。
「余計なもの」が混ざっていると一覧生成が壊れることがある
Archive Managerが空になる原因としてありがちなのが、Archives配下を“成果物保管庫”として使ってしまう運用です。例えば次のようなものが混ざると、VSの走査処理が想定外の構造に遭遇して一覧生成に失敗することがあります。
| 場所 | 混ざりやすい不要物の例 | 推奨対応 |
|---|---|---|
Xamarin\iOS\Archives\ | 配布用に展開したIPAの残骸(extracted ipa相当のフォルダー)、手作業で置いた別形式のファイル、用途不明のサブフォルダー | Archives配下は“アーカイブだけ”にする。配布物(ipa)は別フォルダーへ移動 |
Xamarin\Android\Archives\(存在する環境の場合) | aab/apkを手動でコピー、古いログや一時ファイル、zip展開物 | 不要物を削除し、生成物はbin\Release\...\publish\側を正とする |
| 退避フォルダー全般 | 巨大なアーカイブが大量に蓄積して走査が遅い、壊れた途中生成物 | 必要なものだけを残し、古いものは整理(保管は別ドライブ推奨) |
ポイント:Archivesフォルダーは「VSが機械的に走査する場所」です。人間が“何でも置ける保管庫”として使うほど、将来的にトラブルが増えます。配布用のIPA/AABは、プロジェクト直下のartifactsフォルダーや社内共有ストレージなど、別の置き場を決めて運用すると再発しにくいです。
追加で効くことがある整理ポイント(軽い順)
上の「Xamarinフォルダー再生成」で改善しない場合、次の整理も効果が出ることがあります。すべてを一気にやるより、軽いものから順に試すと原因の当たりが付けやすいです。
| 優先度 | やること | 狙い | 影響範囲 |
|---|---|---|---|
| 高 | ソリューションのbin/obj、.vsを削除してクリーンビルド | ビルドキャッシュの不整合を除去 | プロジェクト単位 |
| 中 | Visual Studioを更新(可能なら最新の安定版へ) | 既知不具合の修正を取り込む | 開発環境全体 |
| 中 | 「Macへの接続(Pair to Mac)」をやり直す/Mac側のXcode・証明書を再確認 | iOS関連の生成・転送の不整合を減らす | iOSビルド周り |
| 低 | VSのキャッシュ(ComponentModelCache等)をクリア | UI/拡張機能/MEF関連の不調をリセット | 開発環境全体(再起動が必要) |
「進捗バーが止まらない」場合の実務的な考え方
発行は成功表示なのに進捗が止まらない場合、現場では次の判断が役に立ちます。
- 最優先は成果物の有無:iOSは
.xcarchive、Androidは.aab/.apkができているかを先に確認する - 成果物があるなら、表示が戻るまで待たずに回避策で配布を進める(Xcode Organizer / CLI)
- 配布が終わったら、落ち着いたタイミングで修復策(Xamarinフォルダー再生成)を実施する
この順番にすると「表示が直るまで何もできない」状態になりにくく、リリース作業が止まりません。
ログで原因を当てたい場合(再発時のトラブルシュート)
「何が原因で一覧化に失敗しているか」を突き止めたい場合、Visual Studioのログを採取するとヒントが出ることがあります。現場でやりやすい方法だけ紹介します。
devenv /log を使ってActivityLog.xmlを確認する
Visual Studioをログ付きで起動すると、拡張機能やUI周りの例外が記録されることがあります。
- Visual Studioを終了
- 開発者コマンドプロンプトなどで次を実行:
devenv /log - 再現操作(発行→Archive Managerが空)を行う
%APPDATA%\Microsoft\VisualStudio\17.0_*\ActivityLog.xmlを確認
ここに「フォルダー走査で例外が出ている」「特定パスでアクセスできない」などの情報が残っていると、不要物の場所や権限問題の切り分けに役立ちます。
再発防止:アーカイブ運用を“壊れにくい形”に整える
表示不具合は環境依存の要素もあり、完全にゼロにはできないことがあります。だからこそ、壊れても配布が止まらない運用に寄せるのが実務的です。
おすすめ運用ルール
- Archives配下に手作業でファイルを置かない(ここはVSが管理する領域)
- 配布物(ipa/aab/apk)は
artifactsなど別フォルダーに集約し、日付+バージョンで整理する - 配布手順はGUIだけに依存しない(iOSはXcode Organizer、AndroidはCLI手順を用意)
- リリース前に「アーカイブ生成→成果物確認→配布」までを小さくリハーサルしておく
成果物の保管例(チームで揃えると強い)
| 成果物 | 推奨保管場所 | 命名例 | 残すべき情報 |
|---|---|---|---|
| iOS IPA / xcarchive | プロジェクト直下のartifacts/ios/ または共有ストレージ | AppName_1.2.3(123)_adhoc_2026-01-02.ipa | バージョン、ビルド番号、配布方式、作成日 |
| Android AAB | artifacts/android/ | AppName_1.2.3(123)_release_2026-01-02.aab | 署名方式(Upload/Release)、バージョン、作成日 |
| dSYM | artifacts/ios/dsym/ | AppName_1.2.3(123)_2026-01-02.dSYM.zip | クラッシュ解析のために必須。IPAとセットで管理 |
よくある質問
Archive Managerが空でも、アーカイブが壊れていないか不安です
まずはフォルダーにxcarchive/AABが存在し、中身が揃っているかを確認してください。Info.plistやProductsがあり、容量が極端に小さくなければ、表示だけが壊れている可能性が高いです。心配なら、iOSはXcodeで開けるか、Androidはbundletoolで検証するなど「別ツールでの確認」を挟むと安心です。
VSを再インストールしても直りません
この系統の不具合は、VS本体よりもローカルの保管・キャッシュ領域の構造が崩れていることで起きることがあります。再インストールより先に、%LOCALAPPDATA%\Xamarinの退避→再生成や、Archives配下の不要物除去を試す価値があります。
Androidでも同じように表示されないのはなぜ?
iOS/Androidどちらも、最終的には「VSが成果物の一覧を生成する」処理に依存しています。アーカイブ保存領域の走査が失敗すると、プラットフォームを問わず空になることがあります。AndroidはGUIに依存せずCLI運用に寄せると、トラブル時に止まりにくくなります。
まとめ:最短で前に進む手順
- 成果物ができているか(xcarchive/AAB)を最優先で確認
- 急ぎの配布は、iOSはXcode Organizer、Androidは.NET CLIで回避して止めない
- Archive Managerを直すなら、%LOCALAPPDATA%\Xamarinを退避して再生成+Archives配下をクリーンに保つ

コメント