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>