Condividi tramite


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>