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.
Der Ressourcendatei-Generator (Resgen.exe) konvertiert Textdateien (.txt oder RESTEXT)-Dateien und XML-basierte Ressourcenformatdateien (RESX)-Dateien in Binärdateien (.resources), die in binärdatei- oder Satellitenassembly der Laufzeit eingebettet werden können. Weitere Informationen finden Sie unter Erstellen von Ressourcendateien.
Resgen.exe ist ein allgemeines Ressourcenkonvertierungsprogramm, das die folgenden Aufgaben ausführt:
Konvertiert .txt- oder RESTEXT-Dateien in RESSOURCEN- oder RESX-Dateien. (Das Format von RESTEXT-Dateien ist identisch mit dem Format von .txt Dateien. Die RESTEXT-Erweiterung hilft Ihnen jedoch, Textdateien zu identifizieren, die Ressourcendefinitionen enthalten.)
Konvertiert RESSOURCEN-Dateien in Text- oder RESX-Dateien.
Konvertiert RESX-Dateien in Text- oder RESSOURCEN-Dateien.
Extrahiert die Zeichenfolgenressourcen aus einer Assembly in eine RESW-Datei, die für die Verwendung in einer Windows 8.x Store-App geeignet ist.
Erstellt eine stark typierte Klasse, die Zugriff auf einzelne benannte Ressourcen und auf die ResourceManager Instanz ermöglicht.
Wenn Resgen.exe aus irgendeinem Grund fehlschlägt, lautet der Rückgabewert -1.
Um Hilfe zu Resgen.exezu erhalten, können Sie den folgenden Befehl ohne angegebene Optionen verwenden, um die Befehlssyntax und -optionen für Resgen.exeanzuzeigen:
resgen
Sie können auch den /? Schalter verwenden:
resgen /?
Wenn Sie Resgen.exe zum Generieren binärer RESSOURCENdateien verwenden, können Sie einen Sprachcompiler verwenden, um die Binärdateien in ausführbare Assemblys einzubetten, oder Sie können den AssemblyLinker (Al.exe) verwenden, um sie in Satellitenassemblys zu kompilieren.
Dieses Tool wird automatisch mit Visual Studio installiert. Verwenden Sie zum Ausführen des Tools die Visual Studio Developer-Eingabeaufforderung oder Visual Studio Developer PowerShell.
Geben Sie an der Eingabeaufforderung Folgendes ein:
Syntax
resgen [-define:symbol1[,symbol2,...]] [/useSourcePath] filename.extension | /compile filename.extension... [outputFilename.extension] [/r:assembly] [/str:lang[,namespace[,class[,file]]] [/publicclass]]
resgen filename.extension [outputDirectory]
Die Parameter
| Parameter oder Schalter | Description |
|---|---|
/define:
symbol1[; Symbol2,...] |
Ab .NET Framework 4.5 unterstützt die bedingte Kompilierung in textbasierten Ressourcendateien (.txt oder .restext). Wenn das Symbol einem Symbol entspricht, das in der Eingabetextdatei in einem #ifdef Konstrukt enthalten ist, wird die zugeordnete Zeichenfolgenressource in der RESSOURCEN-Datei enthalten. Wenn die Eingabetextdatei eine #if ! Anweisung mit einem Symbol enthält, das nicht durch den /define Schalter definiert ist, wird die zugeordnete Zeichenfolgenressource in der Ressourcendatei enthalten./define wird ignoriert, wenn sie mit Nicht-Textdateien verwendet wird. Bei Symbolen wird die Groß-/Kleinschreibung beachtet.Weitere Informationen zu dieser Option finden Sie unter "Ressourcen zur bedingten Kompilierung " weiter unten in diesem Thema. |
useSourcePath |
Gibt an, dass das aktuelle Verzeichnis der Eingabedatei verwendet werden soll, um relative Dateipfade aufzulösen. |
/compile |
Ermöglicht es Ihnen, mehrere RESX- oder Textdateien anzugeben, die in mehrere RESSOURCEN-Dateien in einem einzigen Massenvorgang konvertiert werden sollen. Wenn Sie diese Option nicht angeben, können Sie nur ein Eingabedateiargument angeben. Ausgabedateien sind " filename.resources". Diese Option kann nicht mit der /str: Option verwendet werden.Weitere Informationen zu dieser Option finden Sie unter Kompilieren oder Konvertieren mehrerer Dateien weiter unten in diesem Thema. |
/r:
assembly
|
Verweist auf Metadaten aus der angegebenen Assembly. Sie wird beim Konvertieren von RESX-Dateien verwendet und ermöglicht Resgen.exe das Serialisieren oder Deserialisieren von Objektressourcen. Sie ähnelt den /reference: Oder-Optionen /r: für die C#- und Visual Basic-Compiler. |
filename.extension |
Gibt den Namen der zu konvertierenden Eingabedatei an. Wenn Sie die erste, längere Befehlszeilensyntax verwenden, die vor dieser Tabelle angezeigt wird, extension muss eine der folgenden Sein:.txt oder .restext Eine Textdatei, die in eine RESSOURCEN- oder RESX-Datei konvertiert werden soll. Textdateien dürfen nur Zeichenfolgenressourcen enthalten. Informationen zum Dateiformat finden Sie im Abschnitt "Ressourcen in Textdateien" der Ressourcendateien erstellen. .resx Eine XML-basierte Ressourcendatei, die in eine RESSOURCEN- oder Textdatei (.txt oder .restext) konvertiert werden soll. .Betriebsmittel Eine binäre Ressourcendatei, die in eine RESX- oder Textdatei (.txt oder RESTEXT)-Datei konvertiert werden soll. Wenn Sie die zweite, kürzere Befehlszeilensyntax verwenden, die vor dieser Tabelle dargestellt wird, extension muss Folgendes sein:.exe oder .dll Eine .NET Framework-Assembly (ausführbare Datei oder Bibliothek), deren Zeichenfolgenressourcen in eine RESW-Datei extrahiert werden sollen, um sie bei der Entwicklung von Windows 8.x Store-Apps zu verwenden. |
outputFilename.extension |
Gibt den Namen und Typ der zu erstellenden Ressourcendatei an. Dieses Argument ist optional beim Konvertieren aus einer .txt-, RESTEXT- oder RESX-Datei in eine RESSOURCEN-Datei. Wenn Sie nicht angeben outputFilename, fügt Resgen.exe eine RESSOURCEN-Erweiterung an die Eingabe filename an und schreibt die Datei in das Verzeichnis, das enthält filename,extension.Das outputFilename.extension Argument ist beim Konvertieren aus einer RESSOURCEN-Datei obligatorisch. Geben Sie einen Dateinamen mit der RESX-Erweiterung an, wenn Sie eine RESSOURCEN-Datei in eine XML-basierte Ressourcendatei konvertieren. Geben Sie einen Dateinamen mit der Erweiterung .txt oder RESTEXT an, wenn Sie eine RESSOURCEN-Datei in eine Textdatei konvertieren. Sie sollten eine RESSOURCEN-Datei nur dann in eine .txt Datei konvertieren, wenn die RESSOURCEN-Datei nur Zeichenfolgenwerte enthält. |
outputDirectory |
Gibt für Windows 8.x Store-Apps das Verzeichnis an, in dem eine RESW-Datei mit den Zeichenfolgenressourcen filename.extension geschrieben wird.
outputDirectory muss bereits vorhanden sein. |
/str:
language[,namespace[,classname[,filename]]]
|
Erstellt eine stark typisierte Ressourcenklassendatei in der programmiersprache, die in der language Option angegeben ist.
language kann aus einem der folgenden Literale bestehen:- Für C#: c#, , csoder csharp.- Für Visual Basic: vb oder visualbasic.- Für VBScript: vbs oder vbscript.- Für C++: c++, , mcoder cpp.- Für JavaScript: js, , jscriptoder javascript.Die namespace Option gibt den Standardnamespace des Projekts an, die classname Option gibt den Namen der generierten Klasse an, und die filename Option gibt den Namen der Klassendatei an.Die /str: Option ermöglicht nur eine Eingabedatei, sodass sie nicht mit der /compile Option verwendet werden kann.Wenn namespace angegeben, aber classname nicht, wird der Klassenname vom Ausgabedateinamen abgeleitet (z. B. Unterstriche werden für Zeiträume ersetzt). Die stark typierten Ressourcen funktionieren möglicherweise nicht ordnungsgemäß als Ergebnis. Um dies zu vermeiden, geben Sie sowohl den Klassennamen als auch den Ausgabedateinamen an.Weitere Informationen zu dieser Option finden Sie unter Generieren einer stark typierten Ressourcenklasse weiter unten in diesem Thema. |
/publicClass |
Erstellt eine stark typierte Ressourcenklasse als öffentliche Klasse. Standardmäßig befindet internal sich die Ressourcenklasse in C# und Friend in Visual Basic.Diese Option wird ignoriert, wenn die /str: Option nicht verwendet wird. |
Resgen.exe- und Ressourcendateitypen
Damit Resgen.exe Ressourcen erfolgreich konvertieren können, müssen Text- und RESX-Dateien dem richtigen Format entsprechen.
Textdateien (.txt und .restext)
Textdateien (.txt oder .restext) dürfen nur Zeichenfolgenressourcen enthalten. Zeichenfolgenressourcen sind nützlich, wenn Sie eine Anwendung schreiben, die Zeichenfolgen in mehrere Sprachen übersetzt haben muss. Sie können beispielsweise Menüzeichenfolgen ganz einfach mithilfe der entsprechenden Zeichenfolgenressource regionalisieren. Resgen.exe liest Textdateien, die Name/Wert-Paare enthalten, wobei der Name eine Zeichenfolge ist, die die Ressource beschreibt und der Wert die Ressourcenzeichenfolge selbst ist.
Hinweis
Informationen zum Format von .txt- und RESTEXT-Dateien finden Sie im Abschnitt "Ressourcen in Textdateien" der Ressourcendateien erstellen.
Eine Textdatei, die Ressourcen enthält, muss mit UTF-8- oder Unicode-Codierung (UTF-16) gespeichert werden, es sei denn, sie enthält nur Zeichen im Grundlegenden lateinischen Bereich (bis U+007F). Resgen.exe entfernt erweiterte ANSI-Zeichen, wenn eine Textdatei verarbeitet wird, die mithilfe der ANSI-Codierung gespeichert wird.
Resgen.exe überprüft die Textdatei auf doppelte Ressourcennamen. Wenn die Textdatei doppelte Ressourcennamen enthält, gibt Resgen.exe eine Warnung aus und ignoriert den zweiten Wert.
RESX-Dateien
Das RESX-Ressourcendateiformat besteht aus XML-Einträgen. Sie können Zeichenfolgenressourcen in diesen XML-Einträgen wie in Textdateien angeben. Ein Hauptvorteil von RESX-Dateien gegenüber Textdateien besteht darin, dass Sie auch Objekte angeben oder einbetten können. Wenn Sie eine RESX-Datei anzeigen, können Sie die binäre Form eines eingebetteten Objekts (z. B. ein Bild) sehen, wenn diese binären Informationen Teil des Ressourcenmanifests sind. Wie bei Textdateien können Sie eine RESX-Datei mit einem Text-Editor (z. B. Editor oder Microsoft Word) öffnen und deren Inhalt schreiben, analysieren und bearbeiten. Beachten Sie, dass dies ein gutes Wissen über XML-Tags und die RESX-Dateistruktur erfordert. Weitere Informationen zum RESX-Dateiformat finden Sie im Abschnitt "Ressourcen in RESX-Dateien" der Ressourcendateien erstellen.
Um eine RESSOURCEN-Datei zu erstellen, die eingebettete Nichtzeichenfolgenobjekte enthält, müssen Sie entweder Resgen.exe verwenden, um eine RESX-Datei zu konvertieren, die Objekte enthält, oder fügen Sie die Objektressourcen direkt aus Code hinzu, indem Sie die von der ResourceWriter Klasse bereitgestellten Methoden aufrufen.
Wenn Ihre RESX- oder RESSOURCEN-Datei Objekte enthält und Sie Resgen.exe verwenden, um sie in eine Textdatei zu konvertieren, werden alle Zeichenfolgenressourcen richtig konvertiert, aber die Datentypen der Nichtzeichenfolgenobjekte werden auch als Zeichenfolgen in die Datei geschrieben. Sie verlieren die eingebetteten Objekte in der Konvertierung, und Resgen.exe meldet, dass beim Abrufen der Ressourcen ein Fehler aufgetreten ist.
Konvertieren zwischen Ressourcendateitypen
Wenn Sie zwischen verschiedenen Ressourcendateitypen konvertieren, können Resgen.exe die Konvertierung möglicherweise nicht ausführen oder je nach Quell- und Zieldateitypen Informationen zu bestimmten Ressourcen verlieren. In der folgenden Tabelle werden die Konvertierungstypen angegeben, die beim Konvertieren von einem Ressourcendateityp in einen anderen erfolgreich sind.
| Konvertieren von | An Textdatei | An RESX-Datei | An RESW-Datei | An RESSOURCEN-Datei |
|---|---|---|---|---|
| Textdatei (.txt oder .restext) | -- | Keine Probleme | Nicht unterstützt | Keine Probleme |
| RESX-Datei | Konvertierung schlägt fehl, wenn die Datei Ressourcen ohne Zeichenfolge enthält (einschließlich Dateiverknüpfung) | -- | Nicht unterstützt* | Keine Probleme |
| RESSOURCEN-Datei | Konvertierung schlägt fehl, wenn die Datei Ressourcen ohne Zeichenfolge enthält (einschließlich Dateiverknüpfung) | Keine Probleme | Nicht unterstützt | -- |
| .exe- oder .dll assembly | Nicht unterstützt | Nicht unterstützt | Nur Zeichenfolgenressourcen (einschließlich Pfadnamen) werden als Ressourcen erkannt. | Nicht unterstützt |
*In Windows 8.x Store-Apps verwenden Sie RESW-Dateien zum Erstellen von Ressourcen. Trotz des Unterschieds der Dateierweiterung ist das RESW-Dateiformat identisch mit dem RESX-Dateiformat, mit der Ausnahme, dass RESW-Dateien nur Zeichenfolgen und Dateipfade enthalten können. Sie können RESX-Dateien, die nur Zeichenfolgen und Dateipfade enthalten, in RESW-Dateien konvertieren, indem Sie einfach die Dateierweiterung ändern.
Ausführen bestimmter Resgen.exe Aufgaben
Sie können Resgen.exe auf vielfältige Weise verwenden: um eine textbasierte oder XML-basierte Ressourcendatei in eine Binärdatei zu kompilieren, zwischen Ressourcendateiformaten zu konvertieren und eine Klasse zu generieren, die Funktionen umschließt ResourceManager und Zugriff auf Ressourcen bietet. Dieser Abschnitt enthält detaillierte Informationen zu den einzelnen Aufgaben:
Kompilieren von Ressourcen in einer Binärdatei
Die häufigste Verwendung von Resgen.exe besteht darin, eine textbasierte Ressourcendatei (eine .txt- oder RESTEXT-Datei) oder eine XML-basierte Ressourcendatei (eine RESX-Datei) in eine binäre RESSOURCENdatei zu kompilieren. Die Ausgabedatei kann dann von einem Sprachcompiler oder in eine Satellitenassembly von Assembly Linker (AL.exe) in eine Hauptassembly eingebettet werden.
Die Syntax zum Kompilieren einer Ressourcendatei lautet:
resgen inputFilename [outputFilename]
dabei sind die Parameter:
inputFilename Der Dateiname, einschließlich der Erweiterung, der zu kompilierenden Ressourcendatei. Resgen.exe kompiliert nur Dateien mit Erweiterungen von .txt, RESTEXT oder RESX.
outputFilename Der Name der Ausgabedatei. Wenn Sie weglassen outputFilename, erstellt Resgen.exe eine RESSOURCEN-Datei mit dem Stammdateinamen inputFilename im selben Verzeichnis wie inputFilename. Wenn outputFilename ein Verzeichnispfad enthalten ist, muss das Verzeichnis vorhanden sein.
Sie stellen einen vollqualifizierten Namespace für die RESSOURCEN-Datei bereit, indem Sie ihn im Dateinamen angeben und ihn durch einen Punkt vom Stammdateinamen trennen. Wenn beispielsweise outputFilename der MyCompany.Libraries.Strings.resourcesNamespace "MyCompany.Libraries" lautet.
Der folgende Befehl liest die Namen-/Wert-Paare in Resources.txt und schreibt eine binäre RESSOURCEN-Datei namens "Resources.resources". Da der Ausgabedateiname nicht explizit angegeben ist, erhält er standardmäßig denselben Namen wie die Eingabedatei.
resgen Resources.txt
Der folgende Befehl liest die Namen-Wert-Paare in Resources.restext und schreibt eine Binäre Ressourcendatei namens StringResources.resources.
resgen Resources.restext StringResources.resources
Der folgende Befehl liest eine XML-basierte Eingabedatei mit dem Namen "Resources.resx" und schreibt eine binäre RESSOURCEN-Datei namens "Resources.resources".
resgen Resources.resx Resources.resources
Konvertieren zwischen Ressourcendateitypen
Zusätzlich zum Kompilieren von textbasierten oder XML-basierten Ressourcendateien in Binärressourcendateien kann Resgen.exe jeden unterstützten Dateityp in einen anderen unterstützten Dateityp konvertieren. Dies bedeutet, dass die folgenden Konvertierungen ausgeführt werden können:
.txt- und RESTEXT-Dateien in RESX-Dateien.
RESX-Dateien für .txt- und RESTEXT-Dateien.
.resources-Dateien für .txt- und RESTEXT-Dateien.
.resources-Dateien zu RESX-Dateien.
Die Syntax ist identisch mit der im vorherigen Abschnitt gezeigten.
Darüber hinaus können Sie Resgen.exe verwenden, um eingebettete Ressourcen in einer .NET Framework-Assembly in eine RESW-Datei für Windows 8.x Store-Apps zu konvertieren.
Der folgende Befehl liest eine Binärressourcendatei "Resources.resources" und schreibt eine XML-basierte Ausgabedatei namens "Resources.resx".
resgen Resources.resources Resources.resx
Der folgende Befehl liest eine textbasierte Ressourcendatei mit dem Namen StringResources.txt und schreibt eine XML-basierte Ressourcendatei namens LibraryResources.resx. Zusätzlich zu Zeichenfolgenressourcen kann die RESX-Datei auch zum Speichern von Ressourcen ohne Zeichenfolge verwendet werden.
resgen StringResources.txt LibraryResources.resx
Die folgenden beiden Befehle lesen eine XML-basierte Ressourcendatei namens Resources.resx und schreiben Textdateien namens Resources.txt und Resources.restext. Beachten Sie, dass, wenn die RESX-Datei eingebettete Objekte enthält, nicht korrekt in die Textdateien konvertiert werden.
resgen Resources.resx Resources.txt
resgen Resources.resx Resources.restext
Kompilieren oder Konvertieren mehrerer Dateien
Sie können die /compile Option verwenden, um eine Liste von Ressourcendateien aus einem Format in einen anderen in einem einzigen Vorgang zu konvertieren. Die Syntax lautet:
resgen /compile filename.extension [filename.extension...]
Der folgende Befehl kompiliert drei Dateien, StringResources.txt, TableResources.resw und ImageResources.resw, in separate .resources-Dateien namens StringResources.resources, TableResources.resources und ImageResources.resources.
resgen /compile StringResources.txt TableResources.resx ImageResources.resx
Exportieren von Ressourcen in eine RESW-Datei
Wenn Sie eine Windows 8.x Store-App entwickeln, sollten Sie Ressourcen aus einer vorhandenen Desktop-App verwenden. Die beiden Arten von Anwendungen unterstützen jedoch unterschiedliche Dateiformate. In Desktop-Apps werden Ressourcen in Textdateien (.txt oder RESTEXT) oder RESX-Dateien in Binärdateien kompiliert. In Windows 8.x Store-Apps werden RESW-Dateien in PRI-Dateien (Binary Package Resource Index) kompiliert. Sie können Resgen.exe verwenden, um diese Lücke zu überbrücken, indem Sie Ressourcen aus einer ausführbaren Datei oder einer Satellitenassembly extrahieren und in eine oder mehrere RESW-Dateien schreiben, die beim Entwickeln einer Windows 8.x Store-App verwendet werden können.
Von Bedeutung
Visual Studio verarbeitet automatisch alle Konvertierungen, die zum Integrieren der Ressourcen in eine portable Bibliothek in eine Windows 8.x Store-App erforderlich sind. Die direkte Verwendung von Resgen.exe zum Konvertieren der Ressourcen in ein RESW-Dateiformat ist nur für Entwickler interessant, die eine Windows 8.x Store-App außerhalb von Visual Studio entwickeln möchten.
Die Syntax zum Generieren von RESW-Dateien aus einer Assembly lautet:
resgen filename.extension [outputDirectory]
dabei sind die Parameter:
filename.extension Der Name einer .NET Framework-Assembly (eine ausführbare Datei oder .DLL). Wenn die Datei keine Ressourcen enthält, erstellt Resgen.exe keine Dateien.
outputDirectory Das vorhandene Verzeichnis, in das die RESW-Dateien geschrieben werden sollen. Wenn outputDirectory nicht angegeben, werden RESW-Dateien in das aktuelle Verzeichnis geschrieben. Resgen.exe erstellt eine RESW-Datei für jede RESSOURCEN-Datei in der Assembly. Der Stammdateiname der RESW-Datei entspricht dem Stammnamen der RESSOURCEN-Datei.
Mit dem folgenden Befehl wird eine RESW-Datei im Win8Resources-Verzeichnis für jede in MyApp.exeeingebettete RESSOURCENdatei erstellt:
resgen MyApp.exe Win8Resources
Bedingtes Kompilieren von Ressourcen
Ab .NET Framework 4.5 unterstützt Resgen.exe die bedingte Kompilierung von Zeichenfolgenressourcen in Textdateien (.txt und .restext). Auf diese Weise können Sie eine einzelne textbasierte Ressourcendatei in mehreren Buildkonfigurationen verwenden.
In einer .txt- oder .restext-Datei verwenden Sie die #ifdef...
#endif Konstrukt, um eine Ressource in die Binärressourcendatei einzuschließen, wenn ein Symbol definiert ist, und Sie verwenden das #if !... #endif -Konstrukt, um eine Ressource einzuschließen, wenn kein Symbol definiert ist. Zur Kompilierungszeit definieren Sie dann Symbole mithilfe der /define: Option gefolgt von einer durch Trennzeichen getrennten Liste von Symbolen. Beim Vergleich wird die Groß-/Kleinschreibung beachtet. Die Von ihnen definierte /define Groß-/Kleinschreibung muss mit der Groß-/Kleinschreibung von Symbolen in den Textdateien übereinstimmen, die kompiliert werden sollen.
Die folgende Datei mit dem Namen "UIResources.text" enthält z. B. eine ZeichenfolgenressourceAppTitle, die einen von drei Werten annehmen kann, je nachdem, ob Symbole benannt PRODUCTIONoder CONSULTRETAIL definiert sind.
#ifdef PRODUCTION
AppTitle=My Software Company Project Manager
#endif
#ifdef CONSULT
AppTitle=My Consulting Company Project Manager
#endif
#ifdef RETAIL
AppTitle=My Retail Store Project Manager
#endif
FileMenuName=File
Die Datei kann dann mit dem folgenden Befehl in eine binäre RESSOURCEN-Datei kompiliert werden:
resgen /define:CONSULT UIResources.restext
Dadurch wird eine RESSOURCEN-Datei erzeugt, die zwei Zeichenfolgenressourcen enthält. Der Wert der AppTitle Ressource lautet "My Consulting Company Project Manager".
Generieren einer stark typierten Ressourcenklasse
Resgen.exe unterstützt stark typierte Ressourcen, die den Zugriff auf Ressourcen kapselt, indem Klassen erstellt werden, die eine Reihe statischer schreibgeschützter Eigenschaften enthalten. Dies bietet eine Alternative zum direkten Aufrufen der Methoden der ResourceManager Klasse zum Abrufen von Ressourcen. Sie können die Unterstützung stark typierter Ressourcen aktivieren, indem Sie die /str Option in Resgen.exeverwenden, die die Funktionalität der StronglyTypedResourceBuilder Klasse umschließt. Wenn Sie die /str Option angeben, ist die Ausgabe von Resgen.exe eine Klasse, die stark typierte Eigenschaften enthält, die den Ressourcen entsprechen, auf die im Eingabeparameter verwiesen wird. Diese Klasse bietet stark typierten schreibgeschützten Zugriff auf die Ressourcen, die in der datei verarbeiteten Datei verfügbar sind.
Die Syntax zum Erstellen einer stark typierten Ressource lautet:
resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass]
Die Parameter und Schalter sind:
inputFilename Der Dateiname, einschließlich der Erweiterung, der Ressourcendatei, für die eine stark typierte Ressourcenklasse generiert werden soll. Die Datei kann eine textbasierte, XML-basierte oder binäre RESSOURCEN-Datei sein. sie kann eine Erweiterung von .txt, .restext, .resw oder .resources haben.
outputFilename Der Name der Ausgabedatei. Wenn outputFilename ein Verzeichnispfad enthalten ist, muss das Verzeichnis vorhanden sein. Wenn Sie weglassen outputFilename, erstellt Resgen.exe eine RESSOURCEN-Datei mit dem Stammdateinamen inputFilename im selben Verzeichnis wie inputFilename.
outputFilename kann eine textbasierte, XML-basierte oder binäre RESSOURCEN-Datei sein. Unterscheidet sich die Dateierweiterung von der Dateierweiterung outputFilename von inputFilename, Resgen.exe führt die Dateikonvertierung aus.
Wenn inputFilename es sich um eine RESSOURCEN-Datei handelt, kopiert Resgen.exe die RESSOURCEN-Datei, wenn outputFilename es sich auch um eine RESSOURCEN-Datei handelt. Wenn outputFilename dieser Parameter nicht angegeben wird, überschreibt Resgen.exe eine identische inputFilename RESSOURCEN-Datei.
Sprache Die Sprache, in der Quellcode für die stark typierte Ressourcenklasse generiert werden soll. Mögliche Werte sind cs, C#und csharp für C#-Code vb und visualbasic für Visual Basic-Code vbs sowie vbscript für VBScript-Code und , mccpp und c++für C++-Code.
Namespace Der Namespace, der die stark typierte Ressourcenklasse enthält. Die RESSOURCEN-Datei und die Ressourcenklasse sollten denselben Namespace aufweisen. Informationen zum Angeben des Namespace im outputFilenameNamespace finden Sie unter Kompilieren von Ressourcen in einer Binärdatei. Wenn der Namespace nicht angegeben wird, ist die Ressourcenklasse nicht in einem Namespace enthalten.
Classname Der Name der stark typierten Ressourcenklasse. Dies sollte dem Stammnamen der RESSOURCEN-Datei entsprechen. Wenn beispielsweise Resgen.exe eine RESSOURCENdatei namens "MyCompany.Libraries.Strings.resources" generiert, lautet der Name der stark typierten Ressourcenklasse "Strings". Wenn der Klassenname nicht angegeben wird, wird die generierte Klasse vom Stammnamen von outputFilename. Wenn outputFilename nicht angegeben wird, wird die generierte Klasse vom Stammnamen von inputFilename.
Der Klassenname darf keine ungültigen Zeichen wie eingebettete Leerzeichen enthalten. Wenn der Klassenname eingebettete Leerzeichen enthält oder der Klassenname standardmäßig von "inputFilename" generiert wird und "inputFilename " eingebettete Leerzeichen enthält, ersetzt Resgen.exe alle ungültigen Zeichen durch einen Unterstrich (_).
Dateiname Der Name der Klassendatei.
/publicclass Macht die stark typierte Ressourcenklasse öffentlich statt internal (in C#) oder Friend (in Visual Basic). Auf diese Weise können die Ressourcen von außerhalb der Assembly aufgerufen werden, in der sie eingebettet sind.
Von Bedeutung
Wenn Sie eine stark typierte Ressourcenklasse erstellen, muss der Name der RESSOURCEN-Datei mit dem Namespace und dem Klassennamen des generierten Codes übereinstimmen. Mit Resgen.exe können Sie jedoch Optionen angeben, die eine RESSOURCEN-Datei mit einem inkompatiblen Namen erzeugen. Um dieses Verhalten zu umgehen, benennen Sie die Ausgabedatei um, nachdem sie generiert wurde.
Die stark typierte Ressourcenklasse weist die folgenden Member auf:
Ein parameterloser Konstruktor, der verwendet werden kann, um die stark typierte Ressourcenklasse zu instanziieren.
Eine
static(C#) oderShared(Visual Basic) und schreibgeschützteResourceManagerEigenschaft, die die ResourceManager Instanz zurückgibt, die die stark typierte Ressource verwaltet.Eine statische
CultureEigenschaft, mit der Sie die Kultur festlegen können, die für den Ressourcenabruf verwendet wird. Standardmäßig lautetnullder Wert , was bedeutet, dass die aktuelle UI-Kultur verwendet wird.Eine
static(C#) oderShared(Visual Basic) und schreibgeschützte Eigenschaft für jede Ressource in der RESSOURCEN-Datei. Der Name der Eigenschaft ist der Name der Ressource.-
Der folgende Befehl kompiliert beispielsweise eine Ressourcendatei mit dem Namen StringResources.txt in "StringResources.resources" und generiert eine Klasse StringResources namens "Visual Basic"- Quellcodedatei mit dem Namen StringResources.vb, die für den Zugriff auf den Ressourcen-Manager verwendet werden kann.
resgen StringResources.txt /str:vb,,StringResources