資源文件說明:資源文件生成器 (Resgen.exe)
發表時間:2024-06-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]資源文件生成器 (Resgen.exe)資源文件生成器將 .txt 文件和 .resx(基于 XML 的資源格式)文件轉換為公共語言運行庫二進制 .resources 文件,該文件可嵌入運行庫二進制可執行文件或編譯成附屬程序集。Resgen.exe 執行下列轉換:將 .txt 文件轉換為 .res...
資源文件生成器 (Resgen.exe)
資源文件生成器將 .txt 文件和 .resx(基于 XML 的資源格式)文件轉換為公共語言運行庫二進制 .resources 文件,該文件可嵌入運行庫二進制可執行文件或編譯成附屬程序集。Resgen.exe 執行下列轉換:
•將 .txt 文件轉換為 .resources 文件或 .resx 文件。
•將 .resources 文件轉換為文本文件或 .resx 文件。
•將 .resx 文件轉換為文本文件或 .resources 文件。
語法
resgen filename.extension [outputFilename.extension]
參數
說明
filename.extension
要轉換的輸入文件的名稱。 extension 必須是下列值之一:
.txt
指定要轉換為 .resources 文件或 .resx 文件的文本文件的擴展名。 文本文件只能包含字符串資源。
.resx
指定要轉換為 .resources 文件或 .txt 文件的基于 XML 的資源文件的擴展名。
.resources
指定要轉換為 .resx 文件或 .txt 文件的資源文件的擴展名。
outputFilename.extension
要創建的資源文件的名稱。
從 .txt 文件或 .resx 文件轉換時,該參數是可選的。 將文本文件或 .resx 文件轉換為 .resources 文件時,可以指定 .resources 擴展名。如果不指定 outputFilename,Resgen.exe 將在輸入 filename 參數中追加一個 .resources 擴展名并將該文件寫入包含 filename 的目錄。
從 .resources 文件轉換時,outputFilename 參數是強制的。 將 .resources 文件轉換為基于 XML 的 .resources 文件時,請指定 .resx 擴展名。 將 .resources 文件轉換為文本文件時,請指定 .txt 擴展名。 只有當 .resources 文件僅包含字符串值時,才應將 .resources 文件轉換為 .txt 文件。
備注
Resgen.exe 通過包裝由下列四類實現的方法來轉換文件:
•ResourceReader Class讀取 .resources 文件。
•ResourceWriter Class從指定的資源創建 .resources 文件。
•ResXResourceReader Class讀取 .resx 文件。
•ResXResourceWriter Class從指定的資源創建 .resx 文件。
請注意,ResXResourceWriter 創建的 .resx 文件不能直接由 .NET 應用程序使用。 在將該文件添加到應用程序之前,通過 Resgen.exe 運行該文件以將其轉換為 .resources 文件。 有關在代碼中實現這些類的更多信息,請參閱他們各自的參考主題。
為了使 Resgen.exe 能夠分析輸入,.txt 文件和 .resx 文件遵循正確的格式是非常關鍵的。
文本文件只能包含字符串資源。 如果正在編寫的應用程序必須將字符串翻譯成若干種語言,則字符串資源很有用。例如,通過使用適當的字符串資源,可以很容易地本地化菜單字符串。Resgen.exe 讀取包含名稱/值對的文本文件,其中名稱是描述資源的字符串,值是資源字符串本身。必須在每行上分別指定每個名稱/值對,如下例所示:
name=value
Resgen.exe 檢查文本文件中是否有重復的資源名。 有關文本文件格式的更多詳細信息,請參閱Creating and Using Resources。
.resx 資源文件格式由 XML 項組成。 與 .txt 文件相似,可以在這些 XML 項中指定資源。 與 .txt 文件相比,.resx 文件的主要優勢在于還可以指定或嵌入對象。 查看 .resx 文件時,如果嵌入對象(如圖片)的二進制格式是資源清單的一部分,則可以實際看見此二進制信息。 與 .txt 文件一樣,可以用文本編輯器(如記事本或 Microsoft Word)打開 .resx 文件,并且寫入、粘貼和操作其內容。 注意:要完成這一步,必須非常熟悉 XML 標簽和 .resx 文件結構。 有關 .resx 文件格式的更多詳細信息,請參閱Creating and Using Resources。
要創建包含嵌入的非字符串對象的 .resources 文件,必須使用由ResourceWriter Class提供的方法,或者通過 Resgen.exe 轉換包含對象的 .resx 文件,或者直接從代碼將對象資源添加到文件。 如果通過 Resgen.exe 將包含對象的 .resources 文件轉換為 .txt 文件,則所有字符串資源都將正確轉換,但非字符串對象的數據類型也將作為字符串寫入該文件。在轉換過程中將丟失嵌入的對象,并且 Resgen.exe 在檢索資源時將報告有錯誤發生。
用 Resgen.exe 創建完 .resources 文件后,使用Assembly Generation Tool (Al.exe)將資源嵌入運行庫二進制可執行文件或者將其編譯為附屬程序集。
示例
當未指定選項時,下列命令顯示 Resgen.exe 的命令語法和選項。
resgen
下列命令讀取 myResources.txt 中的名稱/值對并編寫一個名為 myResources.resources 的二進制資源文件。因為輸出文件名未顯式指定,默認情況下它接收與輸入文件相同的名稱。
resgen myResources.txt
下列命令讀取 myResources.txt 中的名稱/值對并編寫一個名為 yourResources.resources 的二進制資源文件。
resgen myResources.txt yourResources.resources
下列命令讀取基于 XML 的輸入文件 myResources.resx 并編寫一個名為 myResources.resources 的二進制資源文件。
resgen myResources.resx myResources.resources
下列命令讀取二進制資源文件 myResources.resources 并編寫一個名為 myResources.resx 的基于 XML 的輸出文件。
resgen myResources.resources myResources.resx
下列命令讀取基于 XML 的輸入文件 myResources.resx 并編寫一個名為 myResources.txt 的 .txt 文件。注意:如果 .resx 文件包含任何嵌入的對象,它們將不能正確地轉換為 .txt 文件。
resgen myResources.resx myResources.txt
請參見
.NET Framework Tools Creating and Using Resources Deploying Resource FilesDesigning Global ApplicationsAssembly Generation Tool (Al.exe)