Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Parameter
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:
|
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. |
Hinweise
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.
Beispiel
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>