Manifest aus Ressourcen
Das Tool "Manifest aus Ressourcen" ist eine Konsolenanwendung, die eine Liste von Bildressourcen (.png oder XAML-Dateien) verwendet. Mithilfe dieser Liste wird 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 zum 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>.<Höhe>.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). Wenn die Assembly stark benannt ist, sollte dieser Eintrag außerdem die Assemblyversion und das Öffentliche Schlüsseltoken enthalten. | 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. Darüber hinaus sollte dieser Schalter bei Angabe der zusätzlichen starken Nameninformationen im Switch "/assembly" mit einem benutzerfreundlichen Manifestnamen bereitgestellt werden, damit die Informationen zu starken Namen der Assembly nicht im Manifestnamen enthalten sind. 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 |
/rekursiv | Durch Festlegen dieses Flags wird das Tool aufgefordert, alle Verzeichnisse im Argument "/resources" rekursiv zu durchsuchen. Wenn Sie dieses Kennzeichen weglassen, wird nur nach Verzeichnissen auf oberster Ebene gesucht. | 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 "Notizen".) | 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 |
/? | Druckt Hilfeinformationen. | Optional |
/help | Druckt 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; 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
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.
Das vorgeschlagene Format für .png Bilder führt dazu, dass das Tool den Größen-/Bemaßungswert für die .png auf die angegebene Formatgröße festlegt, auch wenn sie sich von der tatsächlichen Größe des Bilds unterscheidet.
Das Format "Breite/Höhe" 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-/Bemaßungswert des Bilds.
Wenn Sie dieses Tool mehrmals auf demselben Bildstreifen für dasselbe Imagemanifest ausführen, werden doppelte Manifesteinträge angezeigt. Dieses Ergebnis liegt daran, dass das Tool versucht, den Bildstreifen in eigenständige Bilder aufzuteilen und diese dann dem vorhandenen Manifest hinzuzufügen.
Das Zusammenführen (Auslassen von /newGuids oder /newIds) sollte nur für vom Tool generierte Manifeste erfolgen. Manifeste, die auf andere Weisen angepasst oder generiert werden, 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>