Você não pode usar o logotipo do selo Scale-140 no Visual Studio 2012 Update 1

Este artigo ajuda você a resolve um problema em que não é possível usar o logotipo do selo Scale-140 no Microsoft Visual Studio 2012 Update 1.

Versão original do produto: Visual Studio Express 2012 para Windows 8, Visual Studio Premium 2012, Visual Studio Ultimate 2012
Número de KB original: 2792380

Problema 1

Considere o seguinte cenário:

  • Você cria um aplicativo usando o Visual Studio 2012 Update 1.
  • Selecione um arquivo de .png de 33 x 33 pixels para o logotipo do selo Scale-140 para o aplicativo.
  • Você tenta empacotar o aplicativo.

Nesse cenário, você não pode empacotar o aplicativo. Além disso, você recebe uma mensagem de erro que se assemelha ao seguinte:

O manifesto do aplicativo faz referência à imagem do logotipo do selo 'images\BadgeLogo.scale-140.png' que não tem dimensões válidas. Deve ser 34x34 pixels.

Problema 2

Considere o seguinte cenário:

  • Você cria um aplicativo usando o Visual Studio 2012 Update 1.
  • Selecione um arquivo de.png de 34 x 34 pixels para o logotipo do selo Scale-140 para o aplicativo.
  • Você tenta enviar esse aplicativo para a Windows Store.

Nesse cenário, você não pode enviar o aplicativo para a Windows Store.

Motivo

Esses problemas ocorrem porque o Visual Studio 2012 Update 1 requer incorretamente um arquivo .png de 34 x 34 pixels para o logotipo do selo Scale-140. No entanto, a Windows Store e o WinACK (Kit de Certificação de Aplicativo do Windows) exigem que os arquivos de imagem para o logotipo do selo Scale-140 sejam 33 x 33 pixels.

Solução alternativa

Como solução alternativa a esse problema, execute as seguintes etapas:

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Descarregar Projeto.

  2. Clique com o botão direito do mouse no projeto e selecione Editar.

  3. Adicione o seguinte código XML à parte inferior do arquivo de projeto antes do elemento de fechamento </Project> :

    <!-- 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. Adicione o seguinte código XML à parte inferior do arquivo de projeto antes do elemento de fechamento </Project> :

    Observação

    Se o arquivo de projeto já contiver um BeforeBuild destino, adicione WorkaroundForBadgeLogoScale140Issue ao DependsOnTargets atributo.

    <Target Name="BeforeBuild" DependsOnTargets="WorkaroundForBadgeLogoScale140Issue" />
    
  5. Salve e feche o arquivo de projeto.

  6. Em Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Recarregar Projeto.

  7. Em Manifesto Designer, adicione um arquivo de .png do logotipo scale-140 que é de 33 x 33 pixels.

Observação

Manifest Designer exibirá um aviso de que o logotipo do selo não atende ao tamanho necessário de 34 x 34 pixels. No entanto, o Visual Studio empacotará o aplicativo e o WinACK permitirá que você publique o aplicativo na Windows Store.