Share via


Manifest from Resources

L’outil Manifeste à partir de ressources est une application console qui prend une liste de ressources d’image (fichiers .png ou .xaml) et génère un fichier .imagemanifest qui permet à ces images d’être utilisées avec visual Studio Image Service. De plus, cet outil peut être utilisé pour ajouter des images à un fichier .imagemanifest existant. Cet outil est utile pour ajouter une haute résolution et une prise en charge des thèmes pour les images à une extension Visual Studio. Le fichier .imagemanifest généré doit être inclus et déployé dans le cadre d’une extension Visual Studio (.vsix).

Comment utiliser l’outil ?

Syntaxe

ManifestFromResources /resources :<Dir1> ;<Img1> /assembly :<AssemblyName><Optional Args>

Arguments

Nom du commutateur Notes Obligatoire ou facultatif
resources/ Liste délimitée par des points-virgules d’images ou de répertoires. Cette liste doit toujours contenir la liste complète des images qui se trouveront dans le manifeste. Si seule une liste partielle est donnée, les entrées non incluses sont perdues.

Si un fichier de ressources donné est une bande d’images, l’outil le fractionne en images distinctes avant d’ajouter chaque sous-image au manifeste.

Si l’image est un fichier .png, nous vous recommandons de mettre en forme le nom comme celui-ci afin que l’outil puisse renseigner les attributs appropriés pour l’image : <Name>.<Largeur>.<Height.png>.
Requis
/Assemblée Nom de l’assembly managé (sans inclure l’extension) ou chemin d’exécution de l’assembly natif qui héberge les ressources (par rapport à l’emplacement d’exécution du manifeste). Requis
/Manifeste Nom à attribuer au fichier .imagemanifest généré. Cela peut également inclure un chemin absolu ou relatif pour créer le fichier dans un autre emplacement. Le nom par défaut correspond au nom de l’assembly.

Valeur par défaut : <Current Directory>\<Assembly.imagemanifest>
Facultatif
/guidName Nom à attribuer au symbole GUID de toutes les images du manifeste généré.

Valeur par défaut : AssetsGuid
Facultatif
/rootPath Chemin d’accès racine qui doit être supprimé avant de créer des URI de ressources managées. (Cet indicateur permet d’aider dans les cas où l’outil obtient le chemin d’ACCÈS d’URI relatif incorrect, ce qui provoque l’échec du chargement des ressources.)

Valeur par défaut : <Répertoire actif>
Facultatif
/Récursive La définition de cet indicateur indique à l’outil de rechercher de manière récursive tous les répertoires dans l’argument /resources. L’omission de cet indicateur entraîne une recherche de niveau supérieur uniquement des répertoires. Facultatif
/isNative Définissez cet indicateur lorsque l’argument d’assembly est un chemin d’accès pour un assembly natif. Omettez cet indicateur lorsque l’argument d’assembly est le nom d’un assembly managé. (Consultez la section Notes pour plus d’informations sur cet indicateur.) Facultatif
/newGuids La définition de cet indicateur indique à l’outil de créer une valeur pour le symbole GUID des images au lieu de fusionner celle du manifeste existant. Facultatif
/newIds La définition de cet indicateur indique à l’outil de créer de nouvelles valeurs de symboles d’ID pour chaque image au lieu de fusionner des valeurs à partir du manifeste existant. Facultatif
/noLogo La définition de cet indicateur empêche l’impression des informations sur le produit et les droits d’auteur. Facultatif
/? Imprimez les informations d’aide. Facultatif
/help Imprimez les informations d’aide. Facultatif

Exemples

  • ManifestFromResources /resources :D :\Images /assembly :My.Assembly.Name /isNative

  • ManifestFromResources /resources :D :\Images\Image1.png ; D :\Images\Image1.xaml /assembly :My.Assembly.Name /manifest :MyImageManifest.imagemanifest

  • ManifestFromResources /resources :D :\Images\Image1.png ; D :\Images\Image1.xaml /assembly :My.Assembly.Name /guidName :MyImages /newGuids /newIds

Notes

  • L’outil prend uniquement en charge les fichiers .png et .xaml. Tous les autres types d’images ou de fichiers sont ignorés. Un avertissement est généré pour tous les types non pris en charge rencontrés lors de l’analyse des ressources. Si aucune image prise en charge n’est trouvée lorsque l’outil a terminé l’analyse des ressources, une erreur est générée

  • En suivant le format suggéré pour les images .png, l’outil définit la valeur taille/dimension du fichier .png sur la taille spécifiée par le format, même s’il diffère de la taille réelle de l’image.

  • Le format largeur/hauteur peut être omis pour les images .png, mais l’outil lit la largeur/la hauteur réelle de l’image et les utilise pour la valeur taille/dimension de l’image.

  • L’exécution de cet outil sur la même bande d’images plusieurs fois pour le même fichier .imagemanifest entraîne des entrées de manifeste en double, car l’outil tente de fractionner la bande d’images en images autonomes et d’ajouter celles-ci au manifeste existant.

  • La fusion (omettant /newGuids ou /newIds) ne doit être effectuée que pour les manifestes générés par l’outil. Les manifestes qui ont été personnalisés ou générés par d’autres moyens peuvent ne pas être fusionnés correctement.

  • Les manifestes générés pour les assemblys natifs peuvent avoir besoin d’être modifiés manuellement après la génération pour que les symboles d’ID correspondent aux ID de ressource du fichier .rc de l’assembly natif.

Exemple de sortie

Manifeste d’image simple

Un manifeste d’image est similaire à ce fichier .xml :

<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by the ManifestFromResources tool.-->
<!-- Version: 14.0.15197 -->
<ImageManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/ImageManifestSchema/2014">
  <Symbols>
    <String Name="Resources" Value="/My.Assembly.Name;Component/Resources/Images" />
    <Guid Name="AssetsGuid" Value="{fb41b7ef-6587-480c-aa27-5b559d42cfc9}" />
    <ID Name="MyImage" Value="0" />
  </Symbols>
  <Images>
    <Image Guid="$(AssetsGuid)" ID="$(MyImage)">
      <Source Uri="$(Resources)/Xaml/MyImage.xaml" />
      <Source Uri="$(Resources)/Png/MyImage.16.16.png">
        <Size Value="16" />
      </Source>
    </Image>
  </Images>
  <ImageLists />
</ImageManifest>

Manifeste d’image pour une bande d’images

Un manifeste d’image pour une bande d’images est similaire à ce fichier .xml :

<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by the ManifestFromResources tool.-->
<!-- Version: 14.0.15197 -->
<ImageManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/ImageManifestSchema/2014">
  <Symbols>
    <String Name="Resources" Value="/My.Assembly.Name;Component/Resources/ImageStrip" />
    <Guid Name="AssetsGuid" Value="{fb41b7ef-6587-480c-aa27-5b559d42cfc9}" />
    <ID Name="MyImageStrip_0" Value="1" />
    <ID Name="MyImageStrip_1" Value="2" />
    <ID Name="MyImageStrip" Value="3" />
  </Symbols>
  <Images>
    <Image Guid="$(AssetsGuid)" ID="$(MyImageStrip_0)">
      <Source Uri="$(Resources)/MyImageStrip_0.png">
        <Size Value="16" />
      </Source>
    </Image>
    <Image Guid="$(AssetsGuid)" ID="$(MyImageStrip_1)">
      <Source Uri="$(Resources)/MyImageStrip_1.png">
        <Size Value="16" />
      </Source>
    </Image>
  </Images>
  <ImageLists>
    <ImageList Guid="$(AssetsGuid)" ID="$(MyImageStrip)">
      <ContainedImage Guid="$(AssetsGuid)" ID="$(MyImageStrip_0)" />
      <ContainedImage Guid="$(AssetsGuid)" ID="$(MyImageStrip_1)" />
    </ImageList>
  </ImageLists>
</ImageManifest>

Manifeste d’image pour les ressources d’image d’assembly natives

Un manifeste d’image pour les images natives est similaire à ce fichier .xml :

<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by the ManifestFromResources tool.-->
<!-- Version: 14.0.15198 -->
<ImageManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/ImageManifestSchema/2014">
  <Symbols>
    <String Name="Resources" Value="..\Assembly\Folder\My.Assembly.Name" />
    <Guid Name="AssetsGuid" Value="{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}" />
    <ID Name="MyImage1" Value="0" />
    <ID Name="MyImage2" Value="1" />
  </Symbols>
  <Images>
    <Image Guid="$(AssetsGuid)" ID="$(MyImage1)">
      <Source Uri="$(Resources)">
        <Size Value="16" />
        <NativeResource ID="$(MyImage1)" Type="PNG" />
      </Source>
    </Image>
    <Image Guid="$(AssetsGuid)" ID="$(MyImage2)">
      <Source Uri="$(Resources)">
        <Size Value="16" />
        <NativeResource ID="$(MyImage2)" Type="PNG" />
      </Source>
    </Image>
  </Images>
  <ImageLists />
</ImageManifest>