1

このエラーの原因はわかりません。私は数時間それを研究しています。私はVisual Studio 2015 Update 3を使用しています。私はストアにアップロードされるWindows 10 Universal(UWP)アプリケーションを構築しています。私は既にデベロッパーのセンターアカウントを持っており、それは私のアプリに関連付けられています。最後に、ときに私は、プロジェクトを右クリックし、[保存]を選択>私はこのエラーを取得するアプリのパッケージ作成:Windows 10 UWP App MakeAppxでのビルドの問題

error 80080204: The package with file name "PacTracMobile.Windows10_1.3.0.0_ARM.appx" and package full name "OdenIndustriesInc.9510B3DEAC6_1.3.0.0_arm__bdbevzbp0ydz4" is not valid in the bundle because the bundle also contains the package with file name "PacTracMobile.Windows10_1.3.0.0_x86.appx" and package full name "OdenIndustriesInc.9510B3DEAC6_1.3.0.0_arm__bdbevzbp0ydz4" which applies to the same processor architecture. Bundles can't contain multiple app packages for the same processor architecture, or an architecture-neutral app package with any architecture-specific app package.

このエラーはレコードのファイルMakeAppxであるが。私はx86、x64、ARMをビルドしようとしています。私がデバッグをしているときに、エラーなしでビルド、デプロイ、テストをうまく行えます。しかし、私が自分のアプリパッケージをビルドすることを選択すると、私はこれを取得します。

メモVisual Studioはリリースモード、任意のCPUです。つまり、私がアプリパッケージを作成することを選択すると、最初のポップアップウィンドウでは、3つのプラットフォームをリリースごとにビルドすることを選択しました。私の画面は、単に次のようになります。私が作成する]をクリックすると

Exactly how my build looks, except with my package output path

は、それが構築し、最終的に、私は上記のエラーを取得するために開始します。

どのような考えですか?

ありがとうございました!

EDIT-上記のスクリーンショットは、マイクロソフトの指示に従っています。私はこれらの指示を正確に守っています。 MSDN Building UWP apps

UPDATE-上のスクリーンショットのウィンドウで、x84とx64の選択を解除して(私が3つを望むので理想的ではない)、ARMだけを実行しても、エラーは発生せず、パッケージは完了します。いくつかの読書に基づいて、私は1つずつ(つまり、x86のみを選択して実行すると)うまくいくと思っていますが、3つのアプリパッケージが1つではなく残ります。だから、これは一度に3つすべてをビルドしようとするのと関連しているようですが、エラーを逃しているものの1つのバンドルにパッケージ化します。

答えて

1

プロセスが以前に作成したパッケージから競合が発生する可能性があります。バージョン番号を1.4.0.0に増やしてみて、もう一度お試しください。

問題が解決しない場合は、アーキテクチャが異なる3つのパッケージバンドルを作成できます。 Dashboardで提出物のパッケージセクションにすべてのappxbundleをアップロードしてください。

hereの問題が修正されて報告されています。

+0

私は単一のパッケージ方法で私のために働いた、バージョンを増やす必要はありません。よろしく、CPUアプリと回避策をパッケージ化するMSの機能は、まったく逆のことです... – Goufalite

2

この問題に関する多くのトラブルシューティングを終えた後、私はMSのサポートを受ける必要がありました。この問題の根本的な原因は、以前のアーキテクチャの1つが後者のアーキテクチャを構築していたため、後者のアーキテクチャを構築するときに以前のアーキテクチャで既に構築されていたために失敗していたことです。

つまり、上のスクリーンショットでは、ボックスを3つすべて(x86、x64、およびARM)ビルドするようにチェックされています。私たちが見つけたのは、x86が実際にARMをビルドしていたことです。したがって、ARMがビルドに入ったとき、パッケージはすでにビルドされていたため、エラーが発生しました。

解決策のために、MSサポートは、VSのバグと.csprojファイルの処理方法を特定するのに役立ちました。私のケースでは、MSのサポートは新しいプロジェクトで再現され、.csprojファイルはConfiguration ManagerのUIに表示されているものと同期しないことが確認されました。つまり、VSの私の構成マネージャーは、x86が実際にx86をターゲットにしていることを示しました...そうする必要があります。しかし、メモ帳で.csprojファイルを開くと、x86は実際にARMに設定されていました。

また、VSを再起動するとバックアップが同期化されず、構成マネージャがARMに物理的に変更されてからx86に戻されないことにも注意してください。それはほぼ同期していないようになり、もはやそれを更新しようとしません。

唯一の修正点は、正しいアーキテクチャを示すために手動で.csprojファイルを修正/編集することでした。私がこれをしたら、すべてがうまくいった。

これは、csprojファイルであなたが見てみたいものです

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> 
<OutputPath>bin\x86\Release\</OutputPath> 
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> 
<Optimize>true</Optimize> 
<NoWarn>;2008</NoWarn> 
<DebugType>pdbonly</DebugType> 
<PlatformTarget>x86</PlatformTarget> 
<UseVSHostingProcess>false</UseVSHostingProcess> 
<ErrorReport>prompt</ErrorReport> 
<Prefer32Bit>true</Prefer32Bit> 
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> 
</PropertyGroup> 

<PlatformTarget>x86</PlatformTarget> 

が設定と一致していることに注意してください。以前は、これはARMが設定項目がx86用であったにもかかわらず、

関連する問題