Freigeben über


Manifest aus Ressourcen

Das Tool "Manifest aus Ressourcen" ist eine Konsolenanwendung, die eine Liste von Bildressourcen (PNG- oder XAML-Dateien) verwendet und eine IMAGEMANIFEST-Datei generiert, mit der diese Bilder mit dem Visual Studio Image Service verwendet werden können. Darüber hinaus kann dieses Tool zum Hinzufügen von Bildern zu einem vorhandenen IMAGEMANIFEST verwendet werden. Dieses Tool eignet sich zum Hinzufügen von High-DPI- und Designunterstützung für Bilder zu einer Visual Studio-Erweiterung. Die generierte Imagemanifest-Datei sollte als Teil einer Visual Studio-Erweiterung (VSIX) enthalten und bereitgestellt werden.

So verwenden Sie das Tool

Syntax

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

Argumente

Name wechseln Hinweise Erforderlich oder optional
resources/ Eine durch Semikolons getrennte Liste von Bildern oder Verzeichnissen. Diese Liste sollte immer die vollständige Liste der Bilder enthalten, die sich im Manifest befinden. Wenn nur eine Teilliste angegeben wird, gehen die nicht einbezogenen Einträge verloren.

Wenn es sich bei einer bestimmten Ressourcendatei um einen Bildstreifen handelt, teilt es das Tool in separate Bilder auf, bevor jedes Unterimage dem Manifest hinzugefügt wird.

Wenn es sich bei dem Bild um eine PNG-Datei handelt, wird empfohlen, den Namen wie folgt zu formatieren, damit das Tool die richtigen Attribute für das Bild ausfüllen kann: <Name>.<Breite>.<Height.png>.
Erforderlich
/Versammlung Der Name der verwalteten Assembly (nicht einschließlich der Erweiterung) oder der Laufzeitpfad der systemeigenen Assembly, die die Ressourcen hosten (relativ zum Laufzeitspeicherort des Manifests). Erforderlich
/Manifest Der Name, der der generierten IMAGEMANIFEST-Datei zugewiesen werden soll. Dies kann auch einen absoluten oder relativen Pfad zum Erstellen der Datei an einem anderen Speicherort enthalten. Der Standardname entspricht dem Assemblynamen.

Standard: <Current Directory>\<Assembly.imagemanifest>
Optional
/guidName Der Name, der dem GUID-Symbol für alle Bilder im generierten Manifest zugewiesen werden soll.

Standard: AssetsGuid
Optional
/Rootpath Der Stammpfad, der entfernt werden muss, bevor verwaltete Ressourcen-URIs erstellt werden. (Dieses Flag soll bei Fällen helfen, in denen das Tool den relativen URI-Pfad falsch abruft, was dazu führt, dass Ressourcen nicht geladen werden.)

Standard: <Aktuelles Verzeichnis>
Optional
/Rekursive Durch Festlegen dieses Flags wird das Tool aufgefordert, alle Verzeichnisse im Argument "/resources" rekursiv zu durchsuchen. Das Auslassen dieses Flags führt zu einer reinen Suche auf oberster Ebene von Verzeichnissen. Optional
/isNative Legen Sie dieses Kennzeichen fest, wenn das Assemblyargument ein Pfad für eine systemeigene Assembly ist. Lassen Sie dieses Kennzeichen aus, wenn das Assemblyargument der Name einer verwalteten Assembly ist. (Weitere Informationen zu dieser Kennzeichnung finden Sie im Abschnitt "Hinweise".) Optional
/newGuids Wenn Sie dieses Kennzeichen festlegen, wird das Tool aufgefordert, einen neuen Wert für das GUID-Symbol der Bilder zu erstellen, anstatt das Symbol aus dem vorhandenen Manifest zusammenzuführen. Optional
/newIds Wenn Sie dieses Kennzeichen festlegen, wird das Tool aufgefordert, neue ID-Symbolwerte für jedes Bild zu erstellen, anstatt Werte aus dem vorhandenen Manifest zusammenzuführen. Optional
/noLogo Durch Festlegen dieser Kennzeichnung werden produkt- und copyrightinformationen nicht mehr gedruckt. Optional
/? Drucken Sie Hilfeinformationen aus. Optional
/help Drucken Sie Hilfeinformationen aus. Optional

Beispiele

  • 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 /guidName:MyImages /newGuids /newIds

Hinweise

  • Das Tool unterstützt nur PNG- und XAML-Dateien. Alle anderen Bild- oder Dateitypen werden ignoriert. Beim Analysieren der Ressourcen wird eine Warnung für alle nicht unterstützten Typen generiert. Wenn keine unterstützten Bilder gefunden werden, wenn das Tool die Analyse der Ressourcen abgeschlossen hat, wird ein Fehler generiert.

  • Wenn Sie dem vorgeschlagenen Format für PNG-Bilder folgen, legt das Tool den Größen-/Dimensionswert für die PNG-Datei auf die formatspezifische Größe fest, auch wenn sie sich von der tatsächlichen Größe des Bilds unterscheidet.

  • Das Breite/Höhe-Format kann für PNG-Bilder weggelassen werden, aber das Tool liest die tatsächliche Breite/Höhe des Bilds und verwendet diese für den Größen-/Dimensionswert des Bilds.

  • Wenn Sie dieses Tool mehrmals auf demselben Bildstreifen für dasselbe Imagemanifest ausführen, werden doppelte Manifesteinträge angezeigt, da das Tool versucht, den Bildstreifen in eigenständige Bilder aufzuteilen und diese dem vorhandenen Manifest hinzuzufügen.

  • Das Zusammenführen (Auslassen von /newGuids oder /newIds) sollte nur für vom Tool generierte Manifeste erfolgen. Manifeste, die mit anderen Mitteln angepasst oder generiert wurden, werden möglicherweise nicht ordnungsgemäß zusammengeführt.

  • Manifeste, die für systemeigene Assemblys generiert werden, müssen möglicherweise nach der Generierung manuell bearbeitet werden, damit die ID-Symbole den Ressourcen-IDs aus der RC-Datei der systemeigenen Assembly entsprechen.

Beispielausgabe

Einfaches Bildmanifest

Ein Bildmanifest ähnelt dieser XML-Datei:

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

Bildmanifest für einen Bildstreifen

Ein Bildmanifest für einen Bildstreifen ähnelt dieser XML-Datei:

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

Imagemanifest für systemeigene Assemblyimageressourcen

Ein Bildmanifest für systemeigene Bilder ähnelt dieser XML-Datei:

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