共用方式為


來自資源的資訊清單

[來自資源] 工具的指令清單是一種控制台應用程式,會取得映射資源清單(.png或 .xaml 檔案)。 使用該清單,它會產生一個 .imagemanifest 檔案,允許這些映像與 Visual Studio Image Service 搭配使用。 此外,此工具可用來將影像新增至現有的 .imagemanifest。 此工具適用於將高 DPI 和影像主題支援新增至 Visual Studio 延伸模組。 產生的 .imagemanifest 檔案應該包含在Visual Studio 擴展名中,並部署為Visual Studio 擴展名的一部分。vsix。

如何使用工具

語法

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

引數

切換名稱 注意事項 必要或選擇性
/資源 以分號分隔的影像或目錄清單。 此清單應該一律包含將在指令清單中的完整映像清單。 如果只指定部分清單,則未包含的專案將會遺失。

如果指定的資源檔是影像等量,工具會將它分割成個別的影像,再將每個子影像新增至指令清單。

如果影像是.png檔案,建議您將名稱格式化如下,讓工具可以填入影像的正確屬性: <名稱>。<寬度>。<高度>.png。
必要
/集會 Managed 元件的名稱(不包括延伸模組),或裝載資源的原生元件運行時間路徑(相對於指令清單的運行時間位置)。 此外,如果元件具有強名稱,則此項目應該包含元件版本和公鑰令牌。 必要
/清單 要提供給所產生 .imagemanifest 檔案的名稱。 這也可以包含絕對路徑或相對路徑,以在不同的位置建立檔案。 預設名稱符合元件名稱。 此外,在 /assembly 參數中提供額外的強名稱資訊時,應該提供這個參數的使用者易記指令清單名稱,讓元件強名稱資訊不包含在指令清單名稱中。

默認值:<Current Directory>\<Assembly.imagemanifest>
選擇性
/guidName 要提供給所產生指令清單中所有影像之 GUID 符號的名稱。

默認值:AssetsGuid
選擇性
/rootPath 建立受控資源 URI 之前,必須先移除的根路徑。 (此旗標可協助解決工具取得相對 URI 路徑錯誤的情況,導致資源無法載入。

預設值: <目前目錄>
選擇性
/遞迴的 設定此旗標會指示工具以遞歸方式搜尋 /resources 自變數中的任何目錄。 省略此旗標會導致目錄的最上層搜尋。 選擇性
/isNative 當元件自變數是原生元件的路徑時,請設定此旗標。 當元件自變數是Managed元件的名稱時,請省略此旗標。 (如需此旗標的詳細資訊,請參閱 Notes 一節。 選擇性
/newGuids 設定此旗標會告知工具為影像的 GUID 符號建立新值,而不是從現有的指令清單合併該符號。 選擇性
/newIds 設定此旗標會指示工具為每個影像建立新的標識符符號值,而不是從現有的指令清單合併值。 選擇性
/noLogo 設定此旗標會停止列印產品和著作權資訊。 選擇性
/? 列印說明資訊。 選擇性
/help 列印出說明資訊。 選擇性

範例

  • 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

備註

  • 此工具僅支援 .png 和 .xaml 檔案。 會忽略任何其他映像或檔案類型。 剖析資源時,會針對所有不支援的類型產生警告。 如果在工具完成剖析資源時找不到任何支援的影像,則會產生錯誤

  • 遵循.png影像的建議格式之後,工具會將.png的大小/維度值設定為格式指定的大小,即使它與影像的實際大小不同也一樣。

  • .png影像可以省略寬度/高度格式,但此工具會讀取影像的實際寬度/高度,並使用影像的大小/維度值。

  • 針對相同的 .imagemanifest,在相同的映像等量上執行此工具多次會導致重複的指令清單專案。 此結果是因為工具會嘗試將影像等量分割成獨立映像,然後將這些影像新增至現有的指令清單。

  • 合併 (省略 /newGuids 或 /newIds) 應該只針對工具產生的指令清單完成。 透過其他方式自定義或產生的指令清單可能無法正確合併。

  • 產生之後,可能需要手動編輯針對原生元件產生的指令清單,才能讓標識符符號符合原生元件 .rc 檔案中的資源識別符。

範例輸出

簡單映像指令清單

映射指令清單類似於此.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>

影像等量影像的映像指令清單

影像等量圖的映射指令清單類似於下列.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>

原生元件映像資源的映射指令清單

原生映射的映射指令清單類似於此.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>