Sdílet prostřednictvím


Manifest z prostředků

Manifest z nástroje Prostředky je konzolová aplikace, která přebírá seznam prostředků image (.png nebo souborů .xaml). Pomocí tohoto seznamu vygeneruje soubor .imagemanifest, který umožňuje použití těchto imagí se službou Visual Studio Image Service. Tento nástroj lze také použít k přidání obrázků do existujícího souboru .imagemanifest. Tento nástroj je užitečný pro přidání vysokého DPI a podpory motivů obrázků do rozšíření sady Visual Studio. Vygenerovaný soubor .imagemanifest by měl být součástí a nasazen jako součást rozšíření sady Visual Studio (.vsix).

Jak nástroj používat

Syntaxe

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

Argumenty

Název přepínače Poznámky Povinné nebo volitelné
/prostředky Seznam obrázků nebo adresářů oddělených středníkem. Tento seznam by měl vždy obsahovat úplný seznam obrázků, které budou v manifestu. Pokud je zadaný pouze částečný seznam, položky, které nejsou zahrnuty, budou ztraceny.

Pokud je daný soubor prostředků pruhem obrázku, nástroj ho před přidáním jednotlivých dílčích imagí do manifestu rozdělí do samostatných imagí.

Pokud je obrázek .png souborem, doporučujeme název naformátovat takto, aby nástroj mohl vyplnit správné atributy obrázku: <Název>.<Šířka>.<Výška>.png.
Požaduje se
/shromáždění Název spravovaného sestavení (nezahrnuje rozšíření) nebo cestu modulu runtime nativního sestavení, která hostuje prostředky (vzhledem k umístění modulu runtime manifestu). Pokud je sestavení silně pojmenované, měla by tato položka obsahovat verzi sestavení a token veřejného klíče. Požaduje se
/manifest Název, který se má dát vygenerovanému souboru .imagemanifest. To může také zahrnovat absolutní nebo relativní cestu k vytvoření souboru v jiném umístění. Výchozí název odpovídá názvu sestavení. Kromě toho při poskytování informací o dodatečném silném názvu v přepínači /assembly by měl být tento přepínač dodán s uživatelsky přívětivým názvem manifestu, aby informace o silném názvu sestavení nejsou zahrnuty do názvu manifestu.

Výchozí: <Aktuální adresář>\<Assembly.imagemanifest>
Volitelné
/guidName Název, který se má dát symbolu GUID pro všechny obrázky ve vygenerovaném manifestu.

Výchozí: AssetsGuid
Volitelné
/rootPath Kořenová cesta, kterou je potřeba před vytvořením identifikátorů URI spravovaných prostředků odstranit. (Tento příznak je pomoct s případy, kdy nástroj získá relativní cestu URI nesprávnou, což způsobuje selhání načtení prostředků.)

Výchozí: <Aktuální adresář>
Volitelné
/rekurzivní Nastavení tohoto příznaku říká nástroji, aby rekurzivně prohledávaly všechny adresáře v argumentu /resources. Vynechání tohoto příznaku způsobí vyhledávání adresářů pouze nejvyšší úrovně. Volitelné
/isNative Tento příznak nastavte, pokud je argument sestavení cestou pro nativní sestavení. Tento příznak vynecháte, pokud je argument sestavení názvem spravovaného sestavení. (Další informace o tomto příznaku najdete v části Poznámky.) Volitelné
/newGuids Nastavení tohoto příznaku říká nástroji, aby místo sloučení z existujícího manifestu vytvořil novou hodnotu pro symbol GUID obrázků. Volitelné
/newIds Nastavení tohoto příznaku říká nástroji, aby místo sloučení hodnot z existujícího manifestu vytvořil nové hodnoty symbolů ID pro každý obrázek. Volitelné
/noLogo Nastavení tohoto příznaku zastaví tisk informací o produktu a autorských právech. Volitelné
/? Vytiskne informace nápovědy. Volitelné
/help Vytiskne informace nápovědy. Volitelné

Příklady

  • 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

  • Nástroj podporuje pouze soubory .png a .xaml. Všechny ostatní typy obrázků nebo souborů se ignorují. Při analýze prostředků se vygeneruje upozornění pro všechny nepodporované typy, ke kterým došlo. Pokud se po dokončení analýzy prostředků nenašly žádné podporované image, vygeneruje se chyba.

  • Po navrhovaném formátu pro .png obrázků je výsledkem nastavení hodnoty velikosti/rozměru .png na zadanou velikost, i když se liší od skutečné velikosti obrázku.

  • Formát šířky/výšky je možné pro .png obrázků vynechat, ale nástroj přečte skutečnou šířku a výšku obrázku a použije ho pro hodnotu velikosti a rozměru obrázku.

  • Spuštění tohoto nástroje na stejném pruhu obrázku několikrát pro stejný soubor .imagemanifest způsobí duplicitní položky manifestu. Tento výsledek je ten, že se nástroj pokusí rozdělit pruh obrázku do samostatných imagí a pak je přidat do existujícího manifestu.

  • Sloučení (vynechání /newGuids nebo /newIds) by se mělo provádět pouze pro manifesty generované nástroji. Manifesty, které jsou přizpůsobené nebo generované jinými prostředky, nemusí být správně sloučeny.

  • Manifesty vygenerované pro nativní sestavení mohou být po generování ručně upraveny, aby symboly ID odpovídaly ID prostředků ze souboru .rc nativního sestavení.

Ukázkový výstup

Manifest jednoduchého obrázku

Manifest obrázku se podobá tomuto .xml souboru:

<?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>

Manifest obrázku pro pruh obrázku

Manifest obrázku pro pruh obrázku je podobný tomuto souboru .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>

Manifest image pro prostředky nativní bitové kopie sestavení

Manifest image pro nativní bitové kopie je podobný tomuto souboru .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>