No se puede usar el logotipo de distintivo scale-140 en Visual Studio 2012 Update 1

Este artículo le ayuda a resolver un problema en el que no puede usar el logotipo de distintivo scale-140 en Microsoft Visual Studio 2012 Update 1.

Versión original del producto: Visual Studio Express 2012 para Windows 8, Visual Studio Premium 2012, Visual Studio Ultimate 2012
Número de KB original: 2792380

Problema 1

Imagine la siguiente situación:

  • Para crear una aplicación, use Visual Studio 2012 Update 1.
  • Seleccione un archivo de .png de 33 x 33 píxeles para el logotipo de distintivo scale-140 de la aplicación.
  • Intenta empaquetar la aplicación.

En este escenario, no se puede empaquetar la aplicación. Además, recibirá un mensaje de error similar al siguiente:

El manifiesto de la aplicación hace referencia a la imagen de logotipo de distintivo "images\BadgeLogo.scale-140.png" que no tiene dimensiones válidas. Debe ser de 34 x 34 píxeles.

Problema 2

Imagine la siguiente situación:

  • Para crear una aplicación, use Visual Studio 2012 Update 1.
  • Seleccione un archivo de.png de 34 x 34 píxeles para el logotipo de distintivo scale-140 de la aplicación.
  • Intentas enviar esta aplicación a la Tienda Windows.

En este escenario, no puedes enviar la aplicación a la Tienda Windows.

Causa

Estos problemas se producen porque Visual Studio 2012 Update 1 requiere incorrectamente un archivo .png que sea de 34 x 34 píxeles para el logotipo de distintivo scale-140. Sin embargo, la Tienda Windows y el Kit de certificación de aplicaciones de Windows (WinACK) requieren que los archivos de imagen del logotipo de distintivo scale-140 sean de 33 x 33 píxeles.

Solución alternativa

Para resolver este problema, siga los siguientes pasos:

  1. En Explorador de soluciones, haga clic con el botón derecho en el proyecto y, a continuación, seleccione Descargar proyecto.

  2. Haga clic con el botón derecho en el proyecto y seleccione Editar.

  3. Agregue el siguiente código XML a la parte inferior del archivo de proyecto antes del elemento de cierre </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. Agregue el siguiente código XML a la parte inferior del archivo de proyecto antes del elemento de cierre </Project> :

    Nota:

    Si el archivo de proyecto ya contiene un BeforeBuild destino, agregue WorkaroundForBadgeLogoScale140Issue al DependsOnTargets atributo .

    <Target Name="BeforeBuild" DependsOnTargets="WorkaroundForBadgeLogoScale140Issue" />
    
  5. Guarde y cierre el archivo del proyecto.

  6. En Explorador de soluciones, haga clic con el botón derecho en el proyecto y, a continuación, seleccione Volver a cargar proyecto.

  7. En Manifiesto Designer, agregue un archivo de .png logotipo scale-140 de 33 x 33 píxeles.

Nota:

El Designer de manifiesto mostrará una advertencia de que el logotipo de distintivo no cumple el tamaño necesario de 34 x 34 píxeles. Sin embargo, Visual Studio empaquetará la aplicación y WinACK le permite publicar la aplicación en la Tienda Windows.