Partager 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). À l’aide de cette liste, elle 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>.<Hauteur>.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). En outre, si l’assembly est fortement nommé, cette entrée doit inclure la version de l’assembly et le jeton de clé publique. 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. En outre, lorsque vous fournissez les informations de nom fort supplémentaires dans le commutateur /assembly, ce commutateur doit être fourni avec un nom de manifeste convivial pour que les informations de nom fort de l’assembly ne soient pas incluses dans le nom du manifeste.

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écursif 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é. (Pour plus d’informations sur cet indicateur, consultez la section Notes.) 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
/? Imprime les informations d’aide. Facultatif
/help Imprime 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 ; v1.0.0.0 ; abcdef0123456789 /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 .png images, l’outil définit la taille/la valeur de dimension du .png sur la taille spécifiée par le format, même si elle diffère de la taille réelle de l’image.

  • Le format largeur/hauteur peut être omis pour .png images, 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. Ce résultat est dû au fait que l’outil tente de fractionner la bande d’images en images autonomes, puis de les ajouter 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 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 ressemble à 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>