共用方式為


GenerateResource 工作

更新:2007 年 11 月

在 .txt 和 .resx (XML 架構資源格式) 檔案,以及 Common Language Runtime 二進位 .resources 檔案 (可以內嵌在執行階段二進位可執行檔,或是編譯到附屬組件中) 之間轉換。這項工作通常用來將 .txt 或 .resx 檔轉換成 .resource 檔。GenerateResource 工作的功能類似於 resgen.exe

參數

下表說明 GenerateResource 工作的參數。

參數

說明

FilesWritten

選擇性的 ITaskItem[] 輸出參數。

包含所有寫入磁碟的檔案名稱。這會包括快取檔 (若有的話)。這個參數對於 Clean 的實作相當有用。

OutputResources

選擇性的 ITaskItem[] 輸出參數。

指定所產生檔案 (例如 .resources 檔) 的名稱。如果沒有指定名稱,便會使用符合的輸入檔名稱,而且建立的 .resources 檔會置於含有輸入檔的目錄中。

PublicClass

選擇性的 Boolean 參數。

如果為 true,則建立強型別 (Strongly Typed) 資源類別做為公用類別。

References

選擇性 (Optional) String[] 參數。

要從中載入 .resx 檔案中之型別的參考。Resx 檔案資料項目可能具有 .NET 型別。在讀取 .resx 檔時,就必須解析這個型別。通常使用標準的型別載入規則即可順利解析。如果 References 中有提供組件,則這些組件具有較高的優先順序。

強型別 (Strongly Typed) 資源不需要這個參數。

Sources

必要的 ITaskItem[] 參數。

指定要轉換的項目。傳入此參數的項目必須具有下列其中一種副檔名:

  • .txt:指定文字檔的副檔名以進行轉換。文字檔只能包含字串資源。

  • .resx:指定 XML 架構資源檔的副檔名以進行轉換。

  • .restext:指定和 .txt 相同的格式。如果要在建置處理序中,清楚區別含有資源的原始程式檔 (Source File) 和其他原始程式檔,這種不同的副檔名便會相當有用。

  • .resources:指定資源檔的副檔名以進行轉換。

StateFile

選擇性 ITaskItem 參數。

指定選擇性快取檔的路徑,其用途為加速 .resx 輸入檔中連結的相依性檢查。

StronglyTypedClassName

選擇性 String 參數。

指定強型別資源類別的類別名稱。如果沒有指定此參數,則會使用資源檔的主檔名 (Base Name)。

StronglyTypedFilename

選擇性 ITaskItem 參數。

指定原始程式檔的檔名。如果沒有指定此參數,則會使用類別的名稱做為基底檔名,副檔名則依據使用的語言而定。例如:MyClass.cs。

StronglyTypedLanguage

選擇性 String 參數。

指定產生強型別資源的類別來源時,所使用的語言。這個參數必須完全符合 CodeDomProvider 所使用的其中一種語言。例如:VB 或 C#。

藉由傳遞值給這個參數,您可以指示工作產生強型別資源。

StronglyTypedNamespace

選擇性 String 參數。

指定強型別資源產生的類別來源所使用的命名空間。如果沒有指定此參數,所有的強型別資源都會位於全域命名空間中。

UseSourcePath

選擇性的 Boolean 參數。

如果為 true,則指定使用輸入檔的目錄來解析相對檔案路徑。

備註

由於 .resx 檔可能含有其他資源檔的連結,如果只是比較 .resx 和 .resource 檔案時間戳記以查看輸出是否是最新的,這樣還不夠。反之,GenerateResource 工作會追溯 .resx 檔中的連結,並檢查連結檔案的時間戳記。這表示您在含有 GenerateResource 工作的目標上,不應該只使用 InputsOutputs 屬性 (Attribute),因為這可能會造成略過原本應該執行的工作。

範例

下列範例使用 GenerateResource 工作,從 Resx 項目集合所指定的檔案中產生 .resources 檔。

<GenerateResource
    Sources="@(Resx)"
    OutputResources="@(Resx->'$(IntermediateOutputPath)%(Identity).resources')">
    <Output
        TaskParameter="OutputResources"
        ItemName="Resources"/>
</GenerateResource>

請參閱

概念

MSBuild 工作

其他資源

MSBuild 工作參考