申請エラーの解決

ストアにアプリを提出した後にエラーが発生した場合、「認定プロセス」を続行するためにそれを解決する必要があります。 エラー メッセージには、どのような問題があるのか、問題を修正するために何をする必要があるのかが示されます。 以下に、これらのエラーの解決に役立つ追加情報をいくつか示します。

UWP アプリ

UWP アプリを提出する場合は、パッケージ ファイルが Store 向けに Visual Studio によって生成された .msixupload ファイルまたは.appxupload ファイルでない場合に、前処理の間にエラーが表示されることがあります。 アプリのパッケージ ファイルを作成するときは、「Visual Studio で UWP アプリをパッケージ化する」の手順に従い、提出のパッケージ ページでは、.msix/appx や .msixbundle/appxbundle ではなく .msixupload ファイルまたは .appxupload ファイルだけをアップロードしてください。

コンパイル エラーが表示される場合は、リリース モードでアプリケーションを正常にビルドできることを確認します。 詳しくは、.NET ネイティブ内部コンパイラ エラーに関するページをご覧ください。

デスクトップ アプリケーション

Win32 と UWP のバイナリの両方が含まれるパッケージを提出することを計画している場合は、Visual Studio 2017 Update 4 以降のバージョンで使用できる Windows パッケージ プロジェクトを使用してそのパッケージを作成してください。 UWP プロジェクト テンプレートを使用してパッケージを作成すると、そのパッケージを Microsoft Store に提出したり、他の PC にサイドロードしたりできなくなるおそれがあります。 パッケージが正常に発行された場合でも、ユーザーの PC で予期しない動作をするおそれがあります。 詳しくは、Visual Studio (デスクトップ ブリッジ) を使用したアプリのパッケージ化に関する記事をご覧ください。

Windows Phone 8.x 以前

重要

2018 年 10 月 31 日より、新しく作成された製品には、Windows Phone 8.x またはそれ以前を対象とするパッケージを含めることができません。 詳しくは、こちらのブログ記事をご覧ください。

前処理中に Windows Phone のパッケージに関する問題が検出されると、エラー 2001 が表示されることがあります。 ほとんどの場合は、アプリのパッケージをリビルドしてエラーを修正する必要があります。 処理が完了したら、パッケージ ページで古いパッケージを新しいパッケージに置き換えてから、[ストアに提出] をもう一度クリックします。

このエラーの原因になる問題はいくつかあります。 次の一覧を調べて、どの問題が自分のパッケージに当てはまるか判断してください。

  • パッケージ内の 1 つ以上のアセンブリが不正に暗号化されています: 別のツールを使用して暗号化を実行するか、暗号化を削除します。 コンパイル プロセスによって暗号化アセンブリが最適化されますが、サポート外の方法で MSIL を変更するツールによって一部のアセンブリが暗号化されているため、エラーが発生する場合があります。
  • アプリ内の 1 つ以上のメソッドのサイズが、256 KB の IL を超過しています: 問題のあるメソッドをリファクタリングして、複数の小さい関数にします。 アセンブリ内のメソッドの MSIL のサイズは、ILDASM ツールを使って判別できます。
  • 1 つ以上のアセンブリで、厳密な名前の署名確認に失敗しました: このエラーは通常、アセンブリ メタデータで必要なキーとは異なるキーを使用して、厳密な名前の署名が実行された場合に発生します。 正しいキーを使用して署名するか、または厳密な名前の署名を削除します。
  • パッケージに混合モード (マネージ コードとネイティブ コードの) アセンブリが含まれています: Windows Phone では、混合モード アセンブリはサポートされていません。 パッケージから混合モード アセンブリを削除し、アプリを再申請します。
  • Windows Phone 8.1 XAP または appx/appxbundle アセンブリが無効です: .winmd ファイルに公開エントリ ポイントが少なくとも 1 つあることを確認します。 必要に応じて、逆コンパイラ アプリケーションを使ってコードを確認し、公開エントリ ポイントがあるかどうかをチェックすることができます。

アプリの提出後に発生する可能性のある他のエラーは、エラー 1300 です。 これは、1 つ以上のアセンブリ (またはパッケージ全体) が既にプリコンパイルされているときに発生します。 この問題を解決するには、Microsoft Visual Studio でアプリのパッケージをリビルドし、新たに生成されたパッケージを提出します。

名前/ID エラー

パッケージ内で見つかった名前が、予約したアプリ名のいずれにも該当しません。アプリ名を予約するか、この言語に対応した正しいアプリ名でパッケージを更新してください」ということを示すエラーが表示された場合、パッケージに誤った名前を入力した可能性があります。 また、このエラーは、パートナー センターで予約していないアプリ名を使用している場合にも発生することがあります。 通常、このエラーは次の手順に従って解決できます。

  • アプリの [アプリ ID] ページ ([アプリ管理] の下) に移動して、アプリに ID が割り当てられているかどうかを確認します。 割り当てられていない場合は、ID を作成するオプションが表示されます。 ID を作成するためには、アプリの名前を予約する必要があります。 その名前がパッケージで使用されている名前であることを確認してください。
  • アプリに ID が既に割り当てられているときでも、場合によっては、パッケージで使用する名前を予約する必要があります。 [ アプリの管理] で、[ アプリ名の予約の管理] をクリックします。 使用する名前を入力し、[アプリ名を予約] をクリックします。

重要

必要な名前が利用できない場合、その名前は、他のアプリによって既に予約済みである可能性があります。 アプリがその名前で既に公開されている場合、またはその名前を使用する権利があると考えられる場合は、サポートにお問い合わせください

重要

MSI アプリと EXE アプリは MSIX アプリと同じ方法でレビューされないため、これらのアプリの種類に送信エラーを含めることはできません。