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