Megosztás a következőn keresztül:


Resgen.exe (erőforrásfájl-generátor)

Az erőforrásfájl-generátor (Resgen.exe) szöveges (.txt vagy .restext) fájlokat és XML-alapú erőforrásformátumú (.resx) fájlokat konvertál közös nyelvi futtatókörnyezeti bináris (.resources) fájlokká, amelyek egy futtatókörnyezeti bináris végrehajtható vagy műholdas szerelvénybe ágyazhatók. További információ: Erőforrásfájlok létrehozása.

Resgen.exe egy általános célú erőforrás-konverziós segédprogram, amely a következő feladatokat hajtja végre:

  • Konvertálja .txt vagy .restext fájlokat .resources vagy .resx fájlokká. (A .restext fájlok formátuma megegyezik .txt fájlok formátumával. A .restext bővítmény azonban könnyebben azonosítja az erőforrás-definíciókat tartalmazó szövegfájlokat.)

  • Az .resources fájlokat szöveggé vagy .resx fájllá alakítja.

  • A .resx fájlokat szöveg- vagy .resources-fájlokká alakítja.

  • Kinyeri a sztringerőforrásokat egy szerelvényből egy .resw fájlba, amely alkalmas a Windows 8.x Áruházbeli alkalmazásokban való használatra.

  • Egy erősen gépelt osztályt hoz létre, amely hozzáférést biztosít az egyes elnevezett erőforrásokhoz és a ResourceManager példányhoz.

Ha Resgen.exe bármilyen okból meghiúsul, a visszatérési érték –1.

Ha segítségre van szüksége a Resgen.exe kapcsolatban, a következő parancsot használhatja, a megadott beállítások nélkül, a parancs szintaxisának és a Resgen.exe beállításainak megjelenítéséhez:

resgen

A kapcsolót a következő módokon is használhatja /? :

resgen /?

Ha Resgen.exe használ bináris .resources fájlok létrehozásához, használhat egy nyelvi fordítót a bináris fájlok végrehajtható szerelvényekbe való beágyazásához, vagy a Assembly Linker (Al.exe) használatával lefordíthatja őket műholdas szerelvényekbe.

Ez az eszköz automatikusan telepítve van a Visual Studióval. Az eszköz futtatásához használja a Visual Studio fejlesztői parancssorát vagy a Visual Studio Developer PowerShellt.

A parancssorba írja be a következőt:

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]

Paraméterek

Paraméter vagy kapcsoló Leírás
/define:symbol1[, symbol2,...] A .NET-keretrendszer 4.5-től kezdve támogatja a feltételes fordítást szövegalapú (.txt vagy .restext) erőforrásfájlokban. Ha a szimbólum egy szerkezet bemeneti szövegfájljában #ifdef található szimbólumnak felel meg, a társított sztringerőforrás szerepel az .resources fájlban. Ha a bemeneti szövegfájl tartalmaz egy olyan utasítást #if ! , amely a kapcsoló által /define nem definiált szimbólumot tartalmaz, akkor a társított sztringerőforrás szerepel az erőforrásfájlban.

/define a rendszer figyelmen kívül hagyja, ha nem szöveges fájlokkal használja. A szimbólumok megkülönböztetik a kis- és nagybetűket.

A beállítással kapcsolatos további információkért lásd a témakör későbbi, feltételesen összeállított erőforrásait .
useSourcePath Azt adja meg, hogy a bemeneti fájl aktuális könyvtárát kell használni a relatív fájlelérési útvonalak feloldásához.
/compile Lehetővé teszi, hogy több .resx vagy szöveges fájlt adjon meg, hogy egyetlen tömeges műveletben több .resources fájllá konvertálja azokat. Ha nem adja meg ezt a beállítást, csak egy bemeneti fájlargumentumot adhat meg. A kimeneti fájlok neve filename.resources.

Ez a beállítás nem használható a /str: beállítással.

A beállítással kapcsolatos további információkért lásd a témakör későbbi részében a Több fájl fordítása vagy konvertálása című témakört.
/r: assembly A megadott szerelvény metaadataira hivatkozik. .resx fájlok konvertálásakor használatos, és lehetővé teszi, hogy Resgen.exe szerializálja vagy deszerializálja az objektumerőforrásokat. Hasonló a /reference: /r: C# és a Visual Basic fordítók beállításaihoz.
filename.extension Megadja az átalakítandó bemeneti fájl nevét. Ha a táblázat előtt bemutatott első, hosszosabb parancssori szintaxist használja, extension az alábbiak egyikének kell lennie:

.txt vagy .restext
.resources vagy .resx fájllá konvertálandó szövegfájl. A szövegfájlok csak sztringerőforrásokat tartalmazhatnak. A fájlformátummal kapcsolatos információkért tekintse meg az Erőforrásfájlok létrehozása című szakasz "Erőforrások szövegfájlokban" szakaszát.

.resx
Xml-alapú erőforrásfájl.erőforrásokká vagy szövegfájllá (.txt vagy .restext) konvertálható.

is összekötheti.
.resx vagy szövegfájllá (.txt vagy .restext) konvertálandó bináris erőforrásfájl.

Ha a táblázat előtt bemutatott második, rövidebb parancssori szintaxist használja, extension a következőnek kell lennie:

.exe vagy .dll
Egy .NET-keretrendszer szerelvény (végrehajtható vagy kódtár), amelynek sztringerőforrásait .resw fájlba kell kinyerni a Windows 8.x Áruházbeli alkalmazások fejlesztéséhez.
outputFilename.extension Megadja a létrehozandó erőforrásfájl nevét és típusát.

Ez az argumentum nem kötelező, ha .txt, .restext vagy .resx fájlból .resources fájlba konvertál. Ha nem adja meg outputFilename, Resgen.exe hozzáfűz egy .resources kiterjesztést a bemenethez filename , és a fájlt a benne lévő filename,extensionkönyvtárba írja.

Az outputFilename.extension argumentum kötelező a .resources fájlból való konvertáláskor. Adjon meg egy .resx kiterjesztésű fájlnevet, amikor XML-alapú erőforrásfájllá konvertál egy .resources-fájlt. Adjon meg egy fájlnevet a .txt vagy a .restext kiterjesztéssel, amikor egy .resources-fájlt szövegfájllá konvertál. A .resources fájlokat csak akkor konvertálja .txt fájllá, ha a .resources fájl csak sztringértékeket tartalmaz.
outputDirectory Windows 8.x Áruházbeli alkalmazások esetén azt a könyvtárat adja meg, amelyben meg lesz írva egy .resw fájl, amely tartalmazza a sztringerőforrásokat filename.extension . outputDirectory már léteznie kell.
/str: language[,namespace[,classname[,filename]]] Egy erősen beírt erőforrásosztály-fájlt hoz létre a beállításban language megadott programozási nyelven. language a következő literálok egyikéből állhat:

- C#: c#, csvagy csharp.
- Visual Basic esetén: vb vagy visualbasic.
- VBScript esetén: vbs vagy vbscript.
- C++: c++, mcvagy cpp.
- JavaScript esetén: js, jscriptvagy javascript.

A namespace beállítás megadja a projekt alapértelmezett névterét, a classname beállítás a létrehozott osztály nevét, a filename beállítás pedig az osztályfájl nevét adja meg.

A /str: beállítás csak egy bemeneti fájlt engedélyez, ezért nem használható a /compile beállítással.

Ha namespace meg van adva, de classname nem, az osztály neve a kimeneti fájl nevéből származik (például az aláhúzásjelek pontokkal helyettesíthetők). Előfordulhat, hogy az erősen gépelt erőforrások ennek következtében nem működnek megfelelően. Ennek elkerülése érdekében adja meg az osztály nevét és a kimeneti fájl nevét is.

Erről a beállításról további információt a jelen témakör későbbi, erősen gépelt erőforrásosztályának létrehozása című témakörben talál.
/publicClass Egy erősen beírt erőforrásosztályt hoz létre nyilvános osztályként. Az erőforrásosztály alapértelmezés szerint C# és Friend Visual Basic nyelven vaninternal.

Ez a beállítás figyelmen kívül lesz hagyva, ha a /str: beállítás nincs használatban.

Resgen.exe és erőforrásfájltípusok

Ahhoz, hogy Resgen.exe sikeresen konvertálhassa az erőforrásokat, a szövegnek és a .resx fájlnak a megfelelő formátumot kell követnie.

Szövegfájlok (.txt és .restext)

A szöveges (.txt vagy .restext) fájlok csak sztringerőforrásokat tartalmazhatnak. A sztringerőforrások akkor hasznosak, ha olyan alkalmazást ír, amely több nyelvre lefordított sztringekkel rendelkezik. A menüsztringeket például egyszerűen regionalizálhatja a megfelelő sztringerőforrás használatával. Resgen.exe a név/érték párokat tartalmazó szövegfájlokat olvassa be, ahol a név egy olyan sztring, amely az erőforrást írja le, az érték pedig maga az erőforrás-sztring.

Feljegyzés

Az .txt és a .restext fájlok formátumával kapcsolatos információkért tekintse meg az Erőforrásfájlok létrehozása szakasz "Erőforrások szövegfájlokban" szakaszát.

Az erőforrásokat tartalmazó szövegfájlokat UTF-8 vagy Unicode (UTF-16) kódolással kell menteni, kivéve, ha csak az egyszerű latin tartomány (U+007F) karaktereit tartalmazza. Resgen.exe eltávolítja a kiterjesztett ANSI-karaktereket, amikor ANSI-kódolással mentett szövegfájlt dolgoz fel.

Resgen.exe ellenőrzi a szövegfájlban az ismétlődő erőforrásneveket. Ha a szövegfájl ismétlődő erőforrásneveket tartalmaz, Resgen.exe figyelmeztetést küld, és figyelmen kívül hagyja a második értéket.

.resx fájlok

A .resx erőforrásfájl formátuma XML-bejegyzésekből áll. A szöveges fájlokhoz hasonlóan sztringerőforrásokat is megadhat ezekben az XML-bejegyzésekben. A .resx fájlok elsődleges előnye a szövegfájlokkal szemben, hogy objektumokat is megadhat vagy beágyazhat. A .resx-fájlok megtekintésekor láthatja egy beágyazott objektum (például egy kép) bináris formáját, ha ez a bináris információ az erőforrásjegyzék része. A szövegfájlokhoz hasonlóan a .resx fájlokat is megnyithatja szövegszerkesztővel (például Jegyzettömb vagy Microsoft Word) és írhat, elemezhet és módosíthat annak tartalmát. Vegye figyelembe, hogy ehhez ismernie kell az XML-címkéket és a .resx fájlstruktúrát. A .resx fájlformátummal kapcsolatos további részletekért tekintse meg az Erőforrásfájlok létrehozása című szakasz "Erőforrások a .resx Fájlokban" című szakaszát.

Beágyazott nem összevonásos objektumokat tartalmazó .resources-fájl létrehozásához vagy az objektumokat tartalmazó .resx fájl konvertálásához Resgen.exe kell használnia, vagy közvetlenül a kódból kell hozzáadnia az objektumerőforrásokat a fájlhoz az ResourceWriter osztály által biztosított metódusok meghívásával.

Ha a .resx vagy .resources fájl objektumokat tartalmaz, és a Resgen.exe használatával konvertálja szövegfájllá, a rendszer minden sztringerőforrást megfelelően konvertál, de a nem összefűzhető objektumok adattípusai is sztringként lesznek megírva a fájlba. A konvertálás során elveszíti a beágyazott objektumokat, és Resgen.exe jelenti, hogy hiba történt az erőforrások beolvasása során.

Konvertálás erőforrások fájltípusai között

Ha különböző erőforrásfájl-típusok között konvertál, előfordulhat, hogy Resgen.exe nem tudja végrehajtani az átalakítást, vagy a forrás- és célfájltípusoktól függően elveszíti az adott erőforrásokra vonatkozó információkat. Az alábbi táblázat azokat a konvertálási típusokat határozza meg, amelyek sikeresek az egyik erőforrásfájl-típusról a másikra való konvertáláskor.

Konvertálás innen: Szövegfájlba To .resx file .resw fájl A .resources fájlba
Szövegfájl (.txt vagy .restext) -- Nincs probléma Nem támogatott Nincs probléma
.resx fájl Az átalakítás sikertelen, ha a fájl nem sztring típusú erőforrásokat tartalmaz (beleértve a fájlhivatkozásokat is) -- Nem támogatott* Nincs probléma
.resources fájl Az átalakítás sikertelen, ha a fájl nem sztring típusú erőforrásokat tartalmaz (beleértve a fájlhivatkozásokat is) Nincs probléma Nem támogatott --
.exe vagy .dll szerelvény Nem támogatott Nem támogatott Csak a sztringerőforrások (beleértve az elérési utak nevét) lesznek felismerve erőforrásként Nem támogatott

*A Windows 8.x Áruházbeli alkalmazásokban .resw fájlokat használ az erőforrások létrehozásához. A fájlkiterjesztés különbsége ellenére az .resw fájlformátum megegyezik a .resx fájlformátummal, azzal a különbséggel, hogy az .resw fájlok csak sztringeket és fájlelérési utakat tartalmazhatnak. A csak sztringeket és fájlelérési utakat tartalmazó .resx fájlokat .resw fájlokká alakíthatja egyszerűen a fájlkiterjesztés módosításával.

Adott Resgen.exe feladatok végrehajtása

A Resgen.exe többféleképpen is használhatja: szöveges vagy XML-alapú erőforrásfájl bináris fájlba fordításához, erőforrásfájl-formátumok közötti konvertáláshoz, valamint egy olyan osztály létrehozásához, amely körbefuttat ResourceManager funkciókat, és hozzáférést biztosít az erőforrásokhoz. Ez a szakasz részletes információkat nyújt az egyes tevékenységekről:

Erőforrások fordítása bináris fájlba

A Resgen.exe leggyakrabban szöveges erőforrásfájl (.txt vagy .restext fájl) vagy XML-alapú erőforrásfájl (.resx fájl) bináris .resources fájlba fordítása. A kimeneti fájl ezután beágyazható egy főszerelvénybe egy nyelvi fordítóval vagy egy műholdas szerelvénybe a Assembly Linker (AL.exe) segítségével.

Az erőforrásfájl fordításának szintaxisa a következő:

resgen inputFilename [outputFilename]

ahol a paraméterek a következők:

inputFilename A lefordítandó erőforrásfájl fájlneve, beleértve a bővítményt is. Resgen.exe csak .txt, .restext vagy .resx kiterjesztésű fájlokat fordít le.

outputFilename A kimeneti fájl neve. Ha kihagyja outputFilename, Resgen.exe létrehoz egy .resources fájlt, amelynek gyökérfájlneve inputFilename ugyanabban a könyvtárban található, mint a inputFilename. Ha outputFilename tartalmaz egy könyvtár elérési útját, a könyvtárnak léteznie kell.

A .resources fájl teljes névterét úgy adja meg, hogy megadja a fájlnévben, és pont szerint elválasztja azt a gyökérfájl nevétől. Ha például az, outputFilename MyCompany.Libraries.Strings.resourcesakkor a névtér a MyCompany.Libraries.

Az alábbi parancs beolvassa a név-érték párokat a Resources.txt, és egy Resources.resources nevű bináris .resources fájlt ír. Mivel a kimeneti fájl neve nincs explicit módon megadva, alapértelmezés szerint ugyanazt a nevet kapja, mint a bemeneti fájl.

resgen Resources.txt

Az alábbi parancs beolvassa a név-érték párokat a Resources.restext fájlban, és egy StringResources.resources nevű bináris erőforrásfájlt ír.

resgen Resources.restext StringResources.resources

Az alábbi parancs beolvassa a Resources.resx nevű XML-alapú bemeneti fájlt, és egy Resources.resources nevű bináris .resources fájlt ír.

resgen Resources.resx Resources.resources

Konvertálás erőforrásfájl-típusok között

A szöveges vagy XML-alapú erőforrásfájlok bináris .resources fájlokká alakítása mellett Resgen.exe bármilyen támogatott fájltípust bármilyen más támogatott fájltípussá alakíthat. Ez azt jelenti, hogy a következő átalakításokat hajthatja végre:

  • .txt és .restext fájlokat .resx fájlokba.

  • .resx fájlokat .txt és .restext fájlokhoz.

  • .resources-fájlok .txt és .restext fájlokhoz.

  • .resources-fájlok .resx fájlokba.

A szintaxis megegyezik az előző szakaszban látható szintaxisokkal.

Emellett a Resgen.exe használatával konvertálhat beágyazott erőforrásokat egy .NET-keretrendszer-szerelvényben egy .resw fájllá Windows 8.x Áruházbeli alkalmazásokhoz.

Az alábbi parancs beolvassa az Resources.resources bináris erőforrásfájlt, és egy Resources.resx nevű XML-alapú kimeneti fájlt ír.

resgen Resources.resources Resources.resx

Az alábbi parancs beolvassa a StringResources.txt nevű szövegalapú erőforrásfájlt, és egy LibraryResources.resx nevű XML-alapú erőforrásfájlt ír. A sztringerőforrások mellett a .resx fájl is használható a nem sztring típusú erőforrások tárolására.

resgen StringResources.txt LibraryResources.resx

Az alábbi két parancs egy Resources.resx nevű XML-alapú erőforrásfájlt olvas be, és Resources.txt és Resources.restext nevű szövegfájlokat ír. Vegye figyelembe, hogy ha a .resx fájl tartalmaz beágyazott objektumokat, azok nem lesznek pontosan konvertálva szövegfájlokká.

resgen Resources.resx Resources.txt
resgen Resources.resx Resources.restext

Több fájl összeállítása vagy konvertálása

A kapcsolóval /compile egyetlen műveletben konvertálhatja az erőforrásfájlok listáját egyik formátumból a másikba. A szintaxis a következő:

resgen /compile filename.extension [filename.extension...]

A következő parancs három fájlt állít össze: StringResources.txt, TableResources.resw és ImageResources.resw, különálló .resources fájlokba, StringResources.resources, TableResources.resources és ImageResources.resources néven.

resgen /compile StringResources.txt TableResources.resx ImageResources.resx

Erőforrások exportálása .resw fájlba

Ha Windows 8.x Áruházbeli alkalmazást fejleszt, érdemes lehet meglévő asztali alkalmazás erőforrásait használnia. A kétféle alkalmazás azonban különböző fájlformátumokat támogat. Asztali alkalmazásokban a szövegben lévő erőforrások (.txt vagy .restext) vagy .resx fájlok bináris .resources fájlokba vannak lefordítva. A Windows 8.x Áruházbeli alkalmazásokban a .resw fájlok bináris csomagerőforrás-index (PRI) fájlokba vannak lefordítva. A Resgen.exe segítségével áthidalhatja ezt a szakadékot úgy, hogy kinyeri az erőforrásokat egy végrehajtható vagy egy műholdas szerelvényből, és egy vagy több .resw fájlba írja őket, amelyek a Windows 8.x Áruházbeli alkalmazások fejlesztésekor használhatók.

Fontos

A Visual Studio automatikusan kezeli a hordozható tárakban lévő erőforrások Windows 8.x Áruházbeli alkalmazásba való beépítéséhez szükséges összes átalakítást. A Resgen.exe közvetlen használata a szerelvény erőforrásainak .resw fájlformátumúvá alakításához csak azoknak a fejlesztőknek fontos, akik a Visual Studión kívül szeretnének Windows 8.x Áruházbeli alkalmazást fejleszteni.

A .resw fájlok szerelvényből való létrehozásához a következő szintaxis szükséges:

resgen filename.extension  [outputDirectory]

ahol a paraméterek a következők:

filename.extensionEgy .NET-keretrendszer szerelvény neve (végrehajtható vagy .DLL). Ha a fájl nem tartalmaz erőforrásokat, Resgen.exe nem hoz létre fájlokat.

outputDirectory A meglévő könyvtár, amelyhez a .resw fájlokat meg kell írni. Ha outputDirectory nincs megadva, a rendszer az .resw fájlokat az aktuális könyvtárba írja. Resgen.exe létrehoz egy .resw fájlt az egyes .resources-fájlokhoz a szerelvényben. Az .resw fájl gyökérfájlneve megegyezik a .resources fájl gyökér nevével.

Az alábbi parancs létrehoz egy .resw fájlt a Win8Resources könyvtárban az MyApp.exe beágyazott .resources-fájlokhoz:

resgen MyApp.exe Win8Resources

Erőforrások feltételes összeállítása

A .NET-keretrendszer 4.5-től kezdve a Resgen.exe támogatja a szöveges (.txt és .restext) fájlok sztringerőforrásainak feltételes fordítását. Ez lehetővé teszi, hogy egyetlen szöveges erőforrásfájlt használjon több buildkonfigurációban.

Egy .txt vagy .restext fájlban a #ifdef...#endifha egy szimbólum definiálva van, akkor a ... #endif szerkezettel #if !egy erőforrást is belefoglalhat a bináris .resources fájlba, ha nincs meghatározva szimbólum. Fordításkor a szimbólumokat a /define: beállítással, majd a szimbólumok vesszővel tagolt listájával definiálhatja. Az összehasonlítás megkülönbözteti a kis- és nagybetűkét. Az általuk /define definiált szimbólumok esetének meg kell egyeznie a lefordítandó szövegfájlokban lévő szimbólumok esetével.

A következő, UIResources.text nevű fájl például tartalmaz egy sztringerőforrást, AppTitle amely a három érték egyikét veheti igénybe attól függően, hogy a szimbólumok el vannak-e nevezve PRODUCTION, CONSULTvagy RETAIL definiálva vannak.

#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

A fájl ezután lefordítható bináris .resources fájlba a következő paranccsal:

resgen /define:CONSULT UIResources.restext

Ez létrehoz egy .resources fájlt, amely két sztringerőforrást tartalmaz. Az erőforrás értéke a AppTitle "My Consulting Company Project Manager".

Erősen gépelt erőforrásosztály létrehozása

Resgen.exe támogatja az erősen gépelt erőforrásokat, amelyek statikus írásvédett tulajdonságokat tartalmazó osztályok létrehozásával foglalják össze az erőforrásokhoz való hozzáférést. Ez alternatívát kínál az osztály metódusainak közvetlen meghívására az ResourceManager erőforrások lekéréséhez. Az erősen gépelt erőforrás-támogatás engedélyezéséhez használja a /str Resgen.exe lehetőséget, amely az osztály funkcióit StronglyTypedResourceBuilder burkolja. A beállítás megadásakor /str a Resgen.exe kimenete egy olyan osztály, amely erősen beírt tulajdonságokat tartalmaz, amelyek megfelelnek a bemeneti paraméterben hivatkozott erőforrásoknak. Ez az osztály erősen gépelt írásvédett hozzáférést biztosít a feldolgozott fájlban elérhető erőforrásokhoz.

Az erősen gépelt erőforrás létrehozásához a következő szintaxis szükséges:

resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass]

A paraméterek és kapcsolók a következők:

inputFilename Annak az erőforrásfájlnak a fájlneve, beleértve a bővítményt is, amelyhez egy erősen beírt erőforrásosztályt kíván létrehozni. A fájl lehet szövegalapú, XML-alapú vagy bináris .resources fájl; .txt, .restext, .resw vagy .resources kiterjesztéssel rendelkezhet.

outputFilename A kimeneti fájl neve. Ha outputFilename tartalmaz egy könyvtár elérési útját, a könyvtárnak léteznie kell. Ha kihagyja outputFilename, Resgen.exe létrehoz egy .resources fájlt, amelynek gyökérfájlneve inputFilename ugyanabban a könyvtárban található, mint a inputFilename.

outputFilename lehet szövegalapú, XML-alapú vagy bináris .resources fájl. Ha a fájlkiterjesztés outputFilename eltér a fájlkiterjesztésétől inputFilename, Resgen.exe végrehajtja a fájlkonverziót.

Ha inputFilename .resources fájl, Resgen.exe másolja a .resources fájlt, ha outputFilename az is .resources fájl. Ha outputFilename nincs megadva, Resgen.exe felülírja inputFilename egy azonos .resources fájllal.

nyelv Az a nyelv, amelyben forráskódot kell létrehozni az erősen beírt erőforrásosztályhoz. A lehetséges értékek a C#csharp csC#-kód, vb a visualbasic Visual Basic-kód, vbs a vbscript VBScript-kód és c++mccpp a C++ kód.

névtér Az erősen beírt erőforrásosztályt tartalmazó névtér. A .resources fájlnak és az erőforrásosztálynak ugyanazzal a névtérrel kell rendelkeznie. A névtér bináris fájlba való fordításával kapcsolatos információkért lásd: outputFilenameErőforrások fordítása bináris fájlba. Ha a névtér nincs megadva, az erőforrásosztály nem szerepel a névtérben.

classname Az erősen beírt erőforrásosztály neve. Ennek meg kell felelnie a .resources fájl gyökérnevének. Ha például Resgen.exe létrehoz egy MyCompany.Libraries.Strings.resources nevű .resources fájlt, az erősen beírt erőforrásosztály neve Sztringek. Ha az osztálynév nincs megadva, a létrehozott osztály a gyökérnévből származik outputFilename. Ha outputFilename nincs megadva, a generált osztály a gyökérnévből származik inputFilename.

Az osztálynév nem tartalmazhat érvénytelen karaktereket, például beágyazott szóközöket. Ha az osztálynév beágyazott szóközöket tartalmaz, vagy ha az osztálynév alapértelmezés szerint az inputFilename fájlból jön létre, és az inputFilename beágyazott szóközöket tartalmaz, Resgen.exe az összes érvénytelen karaktert aláhúzásjelre (_) cseréli.

filename Az osztályfájl neve.

/publicclassNyilvánossá teszi az erősen beírt erőforrásosztályt a (C#) vagy Friend a (Visual Basicben) helyett internal . Ez lehetővé teszi az erőforrások elérését azon a szerelvényen kívülről, amelyben beágyazva vannak.

Fontos

Erősen beírt erőforrásosztály létrehozásakor a .resources fájl nevének meg kell egyeznie a létrehozott kód névterével és osztálynevével. Resgen.exe azonban megadhatja azokat a beállításokat, amelyek nem kompatibilis nevű .resources-fájlt hoznak létre. A viselkedés megkerüléséhez nevezze át a kimeneti fájlt a létrehozás után.

Az erősen gépelt erőforrásosztály a következő tagokat tartalmazza:

  • Paraméter nélküli konstruktor, amely az erősen beírt erőforrásosztály példányosítására használható.

  • Egy static (C#) vagy Shared (Visual Basic) és írásvédett ResourceManager tulajdonság, amely az ResourceManager erősen beírt erőforrást kezelő példányt adja vissza.

  • Statikus Culture tulajdonság, amely lehetővé teszi az erőforrás-lekéréshez használt kultúra beállítását. Alapértelmezés szerint az értéke az null, ami azt jelenti, hogy a rendszer az aktuális felhasználói felületi kultúrát használja.

  • Egy static (C#) vagy Shared (Visual Basic) és írásvédett tulajdonság a .resources fájl minden erőforrásához. A tulajdonság neve az erőforrás neve.-

A következő parancs például lefordít egy StringResources.txt nevű erőforrásfájlt a StringResources.resources fájlba, és létrehoz egy osztályt StringResources egy Visual Basic forráskódfájlban, StringResources.vb, amely a Resource Manager eléréséhez használható.

resgen StringResources.txt /str:vb,,StringResources

Lásd még