Manifest from Resources
Lo strumento Manifesto dalle risorse è un'applicazione console che accetta un elenco di risorse di immagine (.png o file xaml). Usando tale elenco, viene generato un file con estensione imagemanifest che consente l'uso di tali immagini con il servizio immagini di Visual Studio. Inoltre, questo strumento può essere usato per aggiungere immagini a un file con estensione imagemanifest esistente. Questo strumento è utile per aggiungere valori DPI elevati e supporto per le immagini a un'estensione di Visual Studio. Il file con estensione imagemanifest generato deve essere incluso e distribuito come parte di un'estensione di Visual Studio (con estensione vsix).
Procedura: utilizzare lo strumento
Sintassi
ManifestFromResources /resources:<Dir1>;<Img1> /assembly:<AssemblyName><Argomenti facoltativi>
Argomenti
Cambia nome | Note | Obbligatorio o facoltativo |
---|---|---|
resources/ | Elenco delimitato da punto e virgola di immagini o directory. Questo elenco deve contenere sempre l'elenco completo delle immagini che saranno presenti nel manifesto. Se viene specificato solo un elenco parziale, le voci non incluse andranno perse. Se un determinato file di risorse è una striscia di immagini, lo strumento lo divide in immagini separate prima di aggiungere ogni sottoimmagine al manifesto. Se l'immagine è un file .png, è consigliabile formattare il nome in questo modo in modo che lo strumento possa compilare gli attributi corretti per l'immagine: <Nome>.<Larghezza>.<Altezza>.png. |
Richiesto |
/Assemblea | Nome dell'assembly gestito (non inclusa l'estensione) o percorso di runtime dell'assembly nativo che ospita le risorse (rispetto al percorso di runtime del manifesto). Inoltre, se l'assembly è fortemente denominato, questa voce deve includere la versione dell'assembly e il token di chiave pubblica. | Richiesto |
/manifesto | Nome da assegnare al file con estensione imagemanifest generato. Può anche includere un percorso assoluto o relativo per creare il file in un percorso diverso. Il nome predefinito corrisponde al nome dell'assembly. Inoltre, quando si forniscono le informazioni aggiuntive sul nome sicuro nell'opzione /assembly, questa opzione deve essere fornita con un nome manifesto descrittivo dell'assembly in modo che le informazioni sul nome sicuro dell'assembly non siano incluse nel nome del manifesto. Impostazione predefinita: <Directory> corrente\<Assembly.imagemanifest> |
Facoltativo |
/guidName | Nome da assegnare al simbolo GUID per tutte le immagini nel manifesto generato. Impostazione predefinita: AssetsGuid |
Facoltativo |
/rootPath | Percorso radice che deve essere rimosso prima di creare gli URI delle risorse gestite. Questo flag è utile per i casi in cui lo strumento ottiene il percorso URI relativo errato, causando un errore di caricamento delle risorse. Impostazione predefinita: <directory corrente> |
Facoltativo |
/ricorsivo | L'impostazione di questo flag indica allo strumento di eseguire ricerche ricorsive in qualsiasi directory nell'argomento /resources. L'omissione di questo flag comporta una ricerca di primo livello delle directory. | Facoltativo |
/isNative | Impostare questo flag quando l'argomento assembly è un percorso per un assembly nativo. Omettere questo flag quando l'argomento assembly è il nome di un assembly gestito. Per altre informazioni su questo flag, vedere la sezione Note. | Facoltativo |
/newGuids | L'impostazione di questo flag indica allo strumento di creare un nuovo valore per il simbolo GUID delle immagini invece di unire quello dal manifesto esistente. | Facoltativo |
/newIds | L'impostazione di questo flag indica allo strumento di creare nuovi valori di simboli ID per ogni immagine anziché unire valori dal manifesto esistente. | Facoltativo |
/noLogo | L'impostazione di questo flag impedisce la stampa delle informazioni sul prodotto e sul copyright. | Facoltativo |
/? | Stampa le informazioni della Guida. | Facoltativo |
/help | Stampa le informazioni della Guida. | Facoltativo |
Esempi
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
Note
Lo strumento supporta solo i file .png e xaml. Qualsiasi altro tipo di immagine o file viene ignorato. Viene generato un avviso per tutti i tipi non supportati rilevati durante l'analisi delle risorse. Se non vengono trovate immagini supportate al termine dell'analisi delle risorse, viene generato un errore
Seguendo il formato suggerito per .png immagini, lo strumento imposta il valore di dimensione/dimensione per il .png alle dimensioni specificate dal formato, anche se differisce dalle dimensioni effettive dell'immagine.
Il formato di larghezza/altezza può essere omesso per le immagini .png, ma lo strumento leggerà la larghezza/altezza effettiva dell'immagine e le userà per il valore di dimensione/dimensione dell'immagine.
L'esecuzione di questo strumento nella stessa striscia di immagini più volte per lo stesso file con estensione imagemanifest genererà voci di manifesto duplicate. Questo risultato è dovuto al fatto che lo strumento tenta di suddividere la striscia di immagini in immagini autonome e quindi di aggiungerle al manifesto esistente.
L'unione (omettendo /newGuids o /newIds) deve essere eseguita solo per i manifesti generati dallo strumento. I manifesti personalizzati o generati tramite altri mezzi potrebbero non essere uniti correttamente.
I manifesti generati per gli assembly nativi potrebbero dover essere modificati a mano dopo la generazione per fare in modo che i simboli ID corrispondano agli ID risorsa del file RC dell'assembly nativo.
Output di esempio
Manifesto dell'immagine semplice
Un manifesto dell'immagine è simile al file .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>
Manifesto dell'immagine per una striscia di immagini
Un manifesto dell'immagine per una striscia di immagini è simile al file .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>
Manifesto dell'immagine per le risorse dell'immagine dell'assembly nativo
Un manifesto dell'immagine per le immagini native è simile a questo file .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>