Visual Studio 2012 Update 1 で Scale-140 バッジ ロゴを使用することはできません

この記事は、Microsoft Visual Studio 2012 Update 1 で Scale-140 バッジ ロゴを使用できない問題を解決するのに役立ちます。

元の製品バージョン: Visual Studio Express 2012 for Windows 8、Visual Studio Premium 2012、Visual Studio Ultimate 2012
元の KB 番号: 2792380

問題 1

次のような状況で問題が発生します。

  • Visual Studio 2012 Update 1 を使用してアプリを作成します。
  • アプリの Scale-140 バッジ ロゴには、33 x 33 ピクセルの .png ファイルを選択します。
  • アプリをパッケージ化しようとするとします。

このシナリオでは、アプリをパッケージ化できません。 さらに、次のようなエラー メッセージが表示されます。

アプリ マニフェストは、無効なディメンションを持つバッジ ロゴ イメージ 'images\BadgeLogo.scale-140.png' を参照します。 34 x 34 ピクセルである必要があります。

問題 2

次のような状況で問題が発生します。

  • Visual Studio 2012 Update 1 を使用してアプリを作成します。
  • アプリの Scale-140 バッジ ロゴには、34 x 34 ピクセルの .png ファイルを選択します。
  • このアプリを Windows ストアに送信しようとするとします。

このシナリオでは、アプリを Windows ストアに送信できません。

原因

これらの問題は、Visual Studio 2012 Update 1 で Scale-140 バッジ ロゴに 34 x 34 ピクセルの .png ファイルが正しく必要ないために発生します。 ただし、Windows ストアと Windows アプリ認定キット (WinACK) では、Scale-140 バッジ ロゴのイメージ ファイルは 33 x 33 ピクセルである必要があります。

回避策

この問題を回避するには、以下の手順を実行します。

  1. ソリューション エクスプローラーでプロジェクトを右クリックし、[プロジェクトのアンロード] を選択します。

  2. プロジェクトを右クリックし、[編集] を選択 します

  3. 終了 </Project> 要素の前に、次の XML コードをプロジェクト ファイルの下部に追加します。

    <!-- Workaround for 33x33 badge logo issue. -->
    <Target Name="WorkaroundForBadgeLogoScale140Issue">
        <ItemGroup>
            <AppxManifestImageFileNameQuery Remove="./m:Package/m:Applications/m:Application/m:VisualElements/m:LockScreen/@BadgeLogo" />
        </ItemGroup>
        <ItemGroup>
            <AppxManifestImageFileNameQuery Include="./m:Package/m:Applications/m:Application/m:VisualElements/m:LockScreen/@BadgeLogo">
                <DescriptionID>BadgeLogo</DescriptionID>
                <ExpectedScaleDimensions>100:24x24;140:33x33;180:43x43</ExpectedScaleDimensions>
            </AppxManifestImageFileNameQuery>
        </ItemGroup>
    </Target>
    
  4. 終了 </Project> 要素の前に、次の XML コードをプロジェクト ファイルの下部に追加します。

    注:

    プロジェクト ファイルにターゲットが既にBeforeBuild含まれている場合は、 属性に DependsOnTargets を追加WorkaroundForBadgeLogoScale140Issueします。

    <Target Name="BeforeBuild" DependsOnTargets="WorkaroundForBadgeLogoScale140Issue" />
    
  5. プロジェクト ファイルを保存して閉じます。

  6. ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロジェクトの再読み込み] を選択します。

  7. マニフェスト Designerで、33 x 33 ピクセルの Scale-140 ロゴ .png ファイルを追加します。

注:

マニフェスト Designerでは、バッジ ロゴが 34 x 34 ピクセルの必要なサイズを満たしていないという警告が表示されます。 ただし、Visual Studio はアプリをパッケージ化し、WinACK を使用すると、アプリを Windows ストアに発行できます。