Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

GenerateResource-Aufgabe

Aktualisiert: November 2007

Konvertiert TXT-Dateien und RESX-Dateien (XML-basiertes Ressourcenformat) in binäre RESOURCES-Dateien der Common Language Runtime, die in eine ausführbare Binärdatei der Laufzeit eingebettet oder in Satellitenassemblys kompiliert werden können, oder führt den umgekehrten Vorgang aus. Diese Aufgabe wird i. d. R. verwendet, um TXT-Dateien oder RESX-Dateien in RESOURCES-Dateien zu konvertieren. Die GenerateResource-Aufgabe ist funktional mit resgen.exe zu vergleichen.

In der folgenden Tabelle werden die Parameter der GenerateResource-Aufgabe beschrieben.

Parameter

Beschreibung

FilesWritten

Optionaler ITaskItem[]-Ausgabeparameter.

Enthält die Namen aller auf den Datenträger geschriebenen Dateien. Hierzu zählt auch die Cachedatei, sofern vorhanden. Dieser Parameter ist für Implementierungen von Clean nützlich.

OutputResources

Optionaler ITaskItem[]-Ausgabeparameter.

Gibt den Namen der generierten Dateien an, z. B. der RESOURCES-Dateien. Wenn Sie keinen Namen angeben, wird der Name der entsprechenden Eingabedatei verwendet, und die neu erstellte RESOURCES-Datei wird in dem Verzeichnis gespeichert, in dem sich auch die Eingabedatei befindet.

PublicClass

Optionaler Boolean-Parameter.

Bei true wird eine stark typisierte Ressourcenklasse als öffentliche Klasse erstellt.

References

Optionaler String[]-Parameter.

Verweise auf Assemblys, aus denen Typen für RESX-Dateien geladen werden sollen. Datenelemente in RESX-Dateien weisen u. U. den .NET-Typ auf. Wenn die RESX-Datei gelesen wird, muss dieser aufgelöst werden. Normalerweise kann die Auflösung erfolgreich mit Standardregeln für das Laden von Typen erfolgen. Wenn Sie in References Assemblys bereitstellen, haben diese Vorrang.

Dieser Parameter ist für Ressourcen mit starker Typisierung nicht erforderlich.

Sources

Erforderlicher ITaskItem[]-Parameter.

Gibt die zu konvertierenden Elemente an. An diesen Parameter übergebene Elemente müssen eine der folgenden Dateierweiterungen aufweisen:

  • .txt: Gibt die Erweiterung einer zu konvertierenden Textdatei an. Textdateien dürfen nur Zeichenfolgenressourcen enthalten.

  • .resx: Gibt die Erweiterung einer zu konvertierenden XML-basierten Ressourcendatei an.

  • .restext: Gibt das gleiche Format an wie .txt. Diese andere Erweiterung ist nützlich, wenn Sie im Buildprozess Quelldateien, die Ressourcen enthalten, eindeutig von anderen Quelldateien differenzieren möchten.

  • .resources: Gibt die Erweiterung einer zu konvertierenden Ressourcendatei an.

StateFile

Optionaler ITaskItem-Parameter.

Gibt den Pfad einer optionalen Cachedatei an, die verwendet wird, um die Abhängigkeitsprüfung von Links in RESX-Eingabedateien zu beschleunigen.

StronglyTypedClassName

Optionaler String-Parameter.

Gibt den Klassennamen für die Ressourcenklasse mit starker Typisierung an. Wenn dieser Parameter nicht angegeben wird, wird der Basisname der Ressourcendatei verwendet.

StronglyTypedFilename

Optionaler ITaskItem-Parameter.

Gibt den Dateinamen der Quelldatei an. Wenn dieser Parameter nicht angegeben wird, wird der Name der Klasse als Basisdateiname verwendet und eine der Sprache entsprechende Erweiterung angefügt. Beispiel: MyClass.cs.

StronglyTypedLanguage

Optionaler String-Parameter.

Gibt die Sprache an, die beim Generieren der Klassenquelle für die Ressource mit starker Typisierung verwendet werden soll. Dieser Parameter muss genau mit einer der Sprachen übereinstimmen, die von CodeDomProvider verwendet werden. Beispiel: VB oder C#.

Wenn ein Wert an diesen Parameter übergeben wird, wird die Aufgabe angewiesen, Ressourcen mit starker Typisierung zu generieren.

StronglyTypedNamespace

Optionaler String-Parameter.

Gibt den Namespace an, der für die generierte Klassenquelle für die Ressource mit starker Typisierung verwendet werden soll. Wenn dieser Parameter nicht angegeben wird, befinden sich alle Ressourcen mit starker Typisierung im globalen Namespace.

UseSourcePath

Optionaler Boolean-Parameter.

Der Wert true gibt an, dass das Verzeichnis der Eingabedatei zum Auflösen relativer Dateipfade verwendet wird.

Da RESX-Dateien möglicherweise Links zu anderen Ressourcendateien enthalten, genügt es nicht, einfach die Timestamps von RESX-Dateien und RESOURCES-Dateien zu vergleichen, um festzustellen, ob die Ausgaben aktuell sind. Stattdessen folgt die GenerateResource-Aufgabe den Links in den RESX-Dateien und prüft auch die Timestamps der verknüpften Dateien. Aus diesem Grund sollten Sie generell nicht das Inputs-Attribut und das Outputs-Attribut für das Ziel verwenden, das die GenerateResource-Aufgabe enthält, da dies dazu führen kann, dass die Aufgabe übersprungen wird, wenn sie eigentlich ausgeführt werden soll.

Im folgenden Beispiel wird die GenerateResource-Aufgabe verwendet, um RESOURCES-Dateien aus den von der Resx-Elementauflistung angegebenen Dateien zu generieren.

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