Resgen.exe (Generator pliku zasobów)

Generator plików zasobów (Resgen.exe) konwertuje pliki tekstowe (txt lub restext) i pliki zasobów w formacie XML (resx) na pliki binarne (resources) środowiska uruchomieniowego języka wspólnego, które można osadzić w binarnym pliku wykonywalnym środowiska uruchomieniowego lub zestawie satelickim. Aby uzyskać więcej informacji, zobacz Tworzenie plików zasobów.

Program Resgen.exe to uniwersalne narzędzie do konwersji zasobów, które wykonuje następujące zadania:

  • Konwertuje pliki txt lub restext na pliki resx lub resources. (Format plików restext jest identyczny z formatem plików txt. Jednak rozszerzenie restext ułatwia identyfikowanie plików tekstowych zawierających definicje zasobów).

  • Konwertuje pliki resources na pliki tekstowe lub resx.

  • Konwertuje pliki resx na pliki tekstowe lub resources.

  • Wyodrębnia zasoby ciągów z zestawu do pliku resw, który jest odpowiedni do użycia w aplikacji ze Sklepu Windows 8.x.

  • Tworzy silnie typizowana klasę, która zapewnia dostęp do poszczególnych nazwanych zasobów i ResourceManager wystąpienia.

Jeśli działanie programu Resgen.exe kończy się niepowodzeniem z dowolnej przyczyny, zwracaną wartością jest -1.

Aby uzyskać pomoc dotyczącą pliku Resgen.exe, możesz użyć następującego polecenia bez określonych opcji, aby wyświetlić składnię polecenia i opcje dla pliku Resgen.exe:

resgen

Możesz również użyć przełącznika /? :

resgen /?

Jeśli używasz pliku Resgen.exe do generowania binarnych plików resources, możesz użyć kompilatora języka do osadzenia plików binarnych w zestawach wykonywalnych lub użyć konsolidatora zestawów (Al.exe), aby skompilować je w zestawy satelitarne.

To narzędzie jest instalowane automatycznie z programem Visual Studio. Aby uruchomić narzędzie, użyj wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell.

W wierszu polecenia wpisz:

Składnia

resgen  [-define:symbol1[,symbol2,...]] [/useSourcePath] filename.extension  | /compile filename.extension... [outputFilename.extension] [/r:assembly] [/str:lang[,namespace[,class[,file]]] [/publicclass]]
resgen filename.extension [outputDirectory]

Parametry

Parametr lub opcja opis
/define:symbol1[, symbol2,...] Począwszy od programu .NET Framework 4.5, obsługuje kompilację warunkową w plikach zasobów opartych na tekście (txt lub restext). Jeśli symbol odpowiada symbolowi zawartemu w pliku tekstowym wejściowym #ifdef w konstrukcji, skojarzony zasób ciągu jest uwzględniony w pliku resources. Jeśli wejściowy plik tekstowy zawiera instrukcję #if ! z symbolem, który nie jest zdefiniowany przez /define przełącznik, skojarzony zasób ciągu jest uwzględniony w pliku zasobów.

/define jest ignorowany, jeśli jest używany z plikami nietekstowymi. W symbolach jest uwzględniania wielkość liter.

Aby uzyskać więcej informacji na temat tej opcji, zobacz Temat Warunkowe kompilowanie zasobów w dalszej części tego tematu.
useSourcePath Określa, że bieżący katalog pliku wejściowego ma być używany na potrzeby rozpoznawania względnych ścieżek plików.
/compile Umożliwia określenie wielu plików tekstowych lub resx w celu konwersji na wiele plików resources w pojedynczej zbiorczej operacji. Jeśli ta opcja nie jest określona, można określić tylko jeden argument pliku wejściowego. Pliki wyjściowe mają nazwę nazwa_pliku.resources.

Tej opcji nie można użyć z opcją /str: .

Aby uzyskać więcej informacji na temat tej opcji, zobacz Kompilowanie lub konwertowanie wielu plików w dalszej części tego tematu.
/r: assembly Odwołuje się do metadanych z określonego zestawu. Jest używana podczas konwersji plików resx i zezwala programowi Resgen.exe na serializację lub deserializację zasobów obiektu. Jest on podobny do /reference: opcji lub /r: dla kompilatorów języka C# i Visual Basic.
filename.extension Określa nazwę pliku wejściowego do konwersji. Jeśli używasz pierwszej, bardziej długiej składni wiersza polecenia przedstawionej przed tą tabelą extension , musi być jedną z następujących wartości:

.txt lub .restext
Plik tekstowy do konwersji na plik resources lub resx. Pliki tekstowe mogą zawierać tylko zasoby w postaci ciągów. Aby uzyskać informacje o formacie pliku, zobacz sekcję "Zasoby w plikach tekstowych" w sekcji Tworzenie plików zasobów.

.resx
Plik zasobów w języku XML do konwersji na plik .resources lub plik tekstowy (txt lub restext).

.resources
Plik binarny zasobów do konwersji na plik resx lub plik tekstowy (txt lub restext).

Jeśli używasz drugiej, krótszej składni wiersza polecenia przedstawionej przed tą tabelą, extension musi być następująca:

.exe lub .dll
Zestaw .NET Framework (plik wykonywalny lub biblioteka), którego zasoby ciągów mają zostać wyodrębnione do pliku resw do użycia w programach aplikacji ze Sklepu Windows 8.x.
outputFilename.extension Określa nazwę i typ tworzonego pliku zasobów.

Ten argument jest opcjonalny podczas konwersji z pliku txt, restext lub resx na plik resources. Jeśli nie określisz outputFilenamepliku , plik Resgen.exe dołącza rozszerzenie resources do danych wejściowych filename i zapisuje plik w katalogu zawierającym filename,extensionplik .

Argument outputFilename.extension jest obowiązkowy podczas konwertowania z pliku resources. Określa nazwę pliku z rozszerzeniem resx podczas konwersji pliku resources na plik zasobów w formacie XML. Określa nazwę pliku z rozszerzeniem txt lub restext podczas konwersji na plik resources lub plik tekstowy. Plik resources należy konwertować na plik txt tylko wtedy, gdy plik resources zawiera wyłącznie wartości w postaci ciągów.
outputDirectory W przypadku aplikacji ze Sklepu Windows 8.x określa katalog, w którym zostanie zapisany plik resw zawierający zasoby filename.extension ciągów. outputDirectory musi już istnieć.
/str: language[,namespace[,classname[,filename]]] Tworzy silnie typizowanego pliku klasy zasobów w języku programowania określonym w language tej opcji. language może składać się z jednego z następujących literałów:

- Dla języka C#: c#, cslub csharp.
— Dla języka Visual Basic: vb lub visualbasic.
— w przypadku języka VBScript: vbs lub vbscript.
- Dla języka C++: c++, mclub cpp.
— Dla języka JavaScript: js, jscriptlub javascript.

Opcja namespace określa domyślną przestrzeń nazw projektu, classname opcja określa nazwę wygenerowanej klasy, a filename opcja określa nazwę pliku klasy.

Opcja /str: zezwala tylko na jeden plik wejściowy, więc nie może być używana z opcją /compile .

Jeśli namespace jest określony, ale classname nie, nazwa klasy pochodzi z nazwy pliku wyjściowego (na przykład podkreślenia są zastępowane kropkami). Zasoby silnie typizowane mogą nie działać poprawnie jako wynik. Aby tego uniknąć, należy określić zarówno nazwę klasy, jak i nazwę pliku wyjściowego.

Aby uzyskać więcej informacji na temat tej opcji, zobacz Generowanie silnie typizowanej klasy zasobów w dalszej części tego tematu.
/publicClass Tworzy silnie typizowaną klasę zasobu jako klasę publiczną. Domyślnie klasa zasobów jest internal w języku C# i Friend w Visual Basic.

Ta opcja jest ignorowana, jeśli /str: opcja nie jest używana.

Program Resgen.exe i typy plików zasobów

Aby program Resgen.exe mógł pomyślnie konwertować zasoby, pliki tekstowe i resx muszą mieć poprawny format.

Pliki tekstowe (txt i restext)

Pliki tekstowe (txt lub restext) mogą zawierać tylko zasoby w postaci ciągów. Zasoby w postaci ciągów są przydatne podczas pisania aplikacji, która musi być przetłumaczona na kilka języków. Na przykład można łatwo poddać regionalizacji napisy w menu przy użyciu odpowiedniego zasobu w postaci ciągu. Program Resgen.exe odczytuje pliki tekstowe, które zawierają pary nazwa/wartość, gdzie nazwa jest ciągiem opisującym zasób, a wartość to właśnie ciąg zasobu.

Uwaga

Aby uzyskać informacje o formacie plików txt i restext, zobacz sekcję "Zasoby w plikach tekstowych" w sekcji Tworzenie plików zasobów.

Plik tekstowy, który zawiera zasoby, musi być zapisany z użyciem kodowania UTF-8 lub Unicode (UTF-16), chyba że zawiera tylko znaki z zakresu Łaciński podstawowy (do U+007F). Program Resgen.exe usuwa rozszerzone znaki ANSI podczas przetwarzania pliku tekstowego, który został zapisany przy użyciu kodowania ANSI.

Program Resgen.exe sprawdza, czy plik tekstowy zawiera zduplikowane nazwy zasobów. Jeśli plik tekstowy zawiera zduplikowane nazwy zasobów, program Resgen.exe wyświetli ostrzeżenie i zignoruje drugą wartość.

Pliki resx

Format plików zasobów resx składa się z wpisów XML. Można określić zasoby w postaci ciągów w tych wpisach XML, tak jak w plikach tekstowych. Główną zaletą plików resx w porównaniu z plikami tekstowymi jest to, że można określić lub osadzić w nich obiekty. Podczas przeglądania pliku resx można zobaczyć binarną formę osadzonego obiektu (na przykład obrazka), gdy te informacje binarne są częścią manifestu zasobu. Tak jak w przypadku plików tekstowych, plik resx można otworzyć za pomocą edytora tekstów (takiego jak Notatnik lub program Microsoft Word), a następnie można pisać i analizować jego zawartość, a także wykonywać na niej różne operacje. Należy zauważyć, że wymaga to dobrej znajomości tagów XML i struktury pliku resx. Aby uzyskać więcej informacji na temat formatu pliku resx, zobacz sekcję "Zasoby w plikach resx" w sekcji Tworzenie plików zasobów.

Aby utworzyć plik resources zawierający osadzone obiekty nieciągające, należy użyć narzędzia Resgen.exe, aby przekonwertować plik resx zawierający obiekty lub dodać zasoby obiektów do pliku bezpośrednio z kodu przez wywołanie metod dostarczonych przez ResourceWriter klasę.

Jeśli plik resx lub resources zawiera obiekty i zostanie użyty program Resgen.exe w celu przekonwertowania go na plik tekstowy, wszystkie zasoby w postaci ciągów zostaną przekonwertowane poprawnie, ale typy danych obiektów niebędących ciągami również zostaną zapisane w pliku jako ciągi. W wyniku konwersji obiekty osadzone zostaną utracone, a program Resgen.exe zgłosi, że wystąpił błąd podczas pobierania zasobów.

Konwertowanie między typami plików zasobów

Podczas konwertowania między różnymi typami plików zasobów program Resgen.exe może nie być w stanie dokonać konwersji lub może spowodować utratę informacji o określonych zasobach, w zależności od typu plików źródłowego i docelowego. W poniższej tabeli określono typy konwersji, które kończą się sukcesem w przypadku konwertowania z jednego typu pliku zasobów na inny.

Konwersja z Na plik tekstowy Na plik resx Na plik resw Na plik resources
Plik tekstowy (txt lub restext) -- Brak problemów Nieobsługiwane Brak problemów
Plik resx Konwersja nie powiedzie się, jeżeli plik zawiera zasoby, które nie są ciągami (w tym łącza do plików) -- Nieobsługiwane* Brak problemów
Plik resources Konwersja nie powiedzie się, jeżeli plik zawiera zasoby, które nie są ciągami (w tym łącza do plików) Brak problemów Nieobsługiwane --
Zestaw exe lub dll Nieobsługiwane Nieobsługiwane Tylko zasoby w postaci ciągów (w tym nazwy ścieżek) są rozpoznawane jako zasoby Nieobsługiwane

*W aplikacjach ze Sklepu Windows 8.x pliki resw służą do tworzenia zasobów. Pomimo różnicy w rozszerzeniu pliku format pliku resw jest identyczny z formatem pliku resx, z tą różnicą, że pliki resw mogą zawierać tylko ciągi i ścieżki plików. Pliki resx zawierające tylko ciągi i ścieżki plików można przekonwertować na pliki resw, zmieniając rozszerzenie pliku.

Wykonywanie określonych zadań w programie Resgen.exe

Można użyć pliku Resgen.exe na różne sposoby: aby skompilować plik zasobów oparty na tekście lub XML do pliku binarnego, przekonwertować między formatami plików zasobów i wygenerować klasę, która opakowuje ResourceManager funkcje i zapewnia dostęp do zasobów. Ta sekcja zawiera szczegółowe informacje dotyczące każdego zadania:

Kompilowanie zasobów do pliku binarnego

Najbardziej powszechnym zastosowaniem programu Resgen.exe jest kompilacja pliku zasobów w formacie tekstowym (pliku txt lub restext) lub w formacie XML (pliku resx) do pliku binarnego resources. Plik wyjściowy można następnie osadzać w zestawie głównym przez kompilator języka lub w zestawie satelitarnym przez assembly Assembly Linker (AL.exe).

Składnia służąca do kompilacji pliku zasobów jest następująca:

resgen inputFilename [outputFilename]

gdzie parametrami są:

inputFilename Nazwa pliku, w tym rozszerzenie, pliku zasobu do skompilowania. Program Resgen.exe kompiluje tylko pliki z rozszerzeniem txt, restext lub resx.

outputFilename Nazwa pliku wyjściowego. Jeśli pominięto outputFilenameplik Resgen.exe tworzy plik resources z nazwą inputFilename pliku głównego w tym samym katalogu co inputFilename. Jeśli outputFilename zawiera ścieżkę katalogu, katalog musi istnieć.

Należy podać w pełni kwalifikowaną przestrzeń nazw dla pliku resources, określając ją w nazwie pliku i oddzielając od głównej nazwy plików kropką. Jeśli na przykład to MyCompany.Libraries.Strings.resources, outputFilename przestrzeń nazw to MyCompany.Libraries.

Poniższe polecenie odczytuje pary nazwa/wartość z pliku Resources.txt i zapisuje w binarnym pliku resources o nazwie Resources.resources. Nazwa pliku wyjściowego nie jest jawnie określona, więc domyślnie plik wyjściowy otrzymuje taką samą nazwę jak plik wejściowy.

resgen Resources.txt

Poniższe polecenie odczytuje pary nazwa/wartość z pliku Resources.restext i zapisuje w binarnym pliku zasobów o nazwie StringResources.resources.

resgen Resources.restext StringResources.resources

Poniższe polecenie odczytuje plik wejściowy w formacie XML o nazwie Resources.resx i zapisuje plik binarny resources o nazwie Resources.resources.

resgen Resources.resx Resources.resources

Konwertowanie między typami plików zasobów

Oprócz kompilowania plików zasobów w formacie tekstowym lub XML do plików binarnych resources, program Resgen.exe może przekonwertować dowolny obsługiwany typ pliku na dowolny inny obsługiwany typ. Oznacza to, że można wykonywać następujące konwersje:

  • Pliki txt i restext na pliki resx.

  • Pliki resx na pliki txt i restext.

  • Pliki resources na pliki txt i restext.

  • Pliki resources na pliki resx.

Składnia jest taka sama, jak pokazana w poprzedniej sekcji.

Ponadto można użyć narzędzia Resgen.exe, aby przekonwertować zasoby osadzone w zestawie .NET Framework na plik resw dla aplikacji ze Sklepu Windows 8.x.

Poniższe polecenie odczytuje binarny plik zasobów Resources.resources i zapisuje plik wyjściowy w formacie XML o nazwie Resources.resx.

resgen Resources.resources Resources.resx

Poniższe polecenie odczytuje plik zasobów w formacie tekstowym o nazwie StringResources.txt i zapisuje plik zasobów w formacie XML o nazwie LibraryResources.resx. Ponadto pliku resx można użyć, oprócz przechowywania zasobów w postaci ciągów, do przechowywania zasobów niebędących ciągami.

resgen StringResources.txt LibraryResources.resx

Poniższe dwa polecenia odczytują plik zasobów w formacie XML o nazwie Resources.resx i zapisują pliki tekstowe o nazwach Resources.txt i Resources.restext. Należy zauważyć, że jeżeli plik resx zawiera jakiekolwiek obiekty osadzone, nie zostaną one dokładnie przekonwertowane na pliki tekstowe.

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

Kompilowanie lub konwertowanie wielu plików

Możesz użyć przełącznika /compile , aby przekonwertować listę plików zasobów z jednego formatu na inny w ramach jednej operacji. Składnia jest następująca:

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

Poniższe polecenie kompiluje trzy pliki, StringResources.txt, TableResources.resw i ImageResources.resw, do oddzielnych plików resources o nazwach StringResources.resources, TableResources.resources i ImageResources.resources.

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

Eksportowanie zasobów do pliku resw

Jeśli tworzysz aplikację ze Sklepu Windows 8.x, możesz chcieć użyć zasobów z istniejącej aplikacji klasycznej. Jednak te dwa rodzaje aplikacji obsługują różne formaty plików. W aplikacjach komputerowych zasoby w plikach tekstowych (txt lub restex) lub w plikach resx są kompilowane do binarnych plików resources. W aplikacjach ze Sklepu Windows 8.x pliki resw są kompilowane w plikach indeksu zasobów pakietu binarnego (PRI). Można użyć narzędzia Resgen.exe, aby wypełnić tę lukę, wyodrębniając zasoby z pliku wykonywalnego lub zestawu satelitarnego i zapisując je w co najmniej jednym pliku resw, który może być używany podczas tworzenia aplikacji ze Sklepu Windows 8.x.

Ważne

Program Visual Studio automatycznie obsługuje wszystkie konwersje niezbędne do włączenia zasobów w bibliotece przenośnej do aplikacji ze Sklepu Windows 8.x. Używanie pliku Resgen.exe bezpośrednio do konwertowania zasobów w zestawie na format pliku resw jest interesujące tylko dla deweloperów, którzy chcą utworzyć aplikację ze Sklepu Windows 8.x poza programem Visual Studio.

Składnia służąca do generowania plików resw z zestawu jest następująca:

resgen filename.extension  [outputDirectory]

gdzie parametrami są:

filename.extension Nazwa zestawu .NET Framework (pliku wykonywalnego lub biblioteki DLL). Jeśli plik nie zawiera żadnych zasobów, program Resgen.exe nie tworzy żadnych plików.

outputDirectory Istniejący katalog, do którego mają być zapisywane pliki resw. Jeśli outputDirectory pominięto, pliki resw są zapisywane w bieżącym katalogu. Program Resgen.exe tworzy jeden plik resw dla każdego pliku resources w zestawie. Główna nazwa pliku resw jest taka sama jak główna nazwa pliku resources.

Poniższe polecenie tworzy plik resw w katalogu Win8Resources dla każdego pliku resources osadzonego w zestawie MyApp.exe:

resgen MyApp.exe Win8Resources

Warunkowe kompilowanie zasobów

Począwszy od programu .NET Framework 4.5, program Resgen.exe obsługuje warunkową kompilację zasobów ciągów w plikach tekstowych (txt i restext). Dzięki temu można używać pojedynczego pliku zasobów w formacie tekstowym w wielu konfiguracjach kompilacji.

W pliku txt lub restext należy użyć ...#ifdef#endif konstruować w celu uwzględnienia zasobu w pliku binary .resources, jeśli jest zdefiniowany symbol, i używasz #if !konstrukcji ... #endif do uwzględnienia zasobu, jeśli symbol nie jest zdefiniowany. W czasie kompilacji należy zdefiniować symbole przy użyciu /define: opcji, po której następuje rozdzielana przecinkami lista symboli. Porównanie uwzględnia wielkość liter. Wielkość symboli zdefiniowanych przez /define program musi odpowiadać wielkości liter symboli w plikach tekstowych do skompilowania.

Na przykład następujący plik o nazwie UIResources.text zawiera zasób ciągu o nazwie , który może przyjmować jedną z trzech wartości, w zależności od tego, czy symbole o nazwie AppTitlePRODUCTION, CONSULTlub RETAIL są zdefiniowane.

#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

Następnie plik można skompilować do binarnego pliku resources, używając następującego polecenia:

resgen /define:CONSULT UIResources.restext

To polecenie utworzy plik resources zawierający dwa zasoby w postaci ciągów. Wartość AppTitle zasobu to "My Consulting Company Project Manager".

Generowanie silnie typizowanej klasy zasobów

Program Resgen.exe obsługuje silnie typizowane zasoby, które hermetyzują dostęp do zasobów przez tworzenie klas zawierających zestaw statycznych właściwości tylko do odczytu. Zapewnia to alternatywę dla wywołania metod ResourceManager klasy bezpośrednio w celu pobrania zasobów. Obsługę zasobów silnie typionych można włączyć przy użyciu /str opcji w pliku Resgen.exe, która opakowuje funkcjonalność StronglyTypedResourceBuilder klasy. Po określeniu /str opcji dane wyjściowe pliku Resgen.exe to klasa zawierająca silnie typizowane właściwości zgodne z zasobami, do których odwołuje się parametr wejściowy. Ta klasa dostarcza silnie typizowany dostęp tylko do odczytu do zasobów, które są dostępne w przetwarzanym pliku.

Składania służąca do tworzenia silnie typizowanych zasobów jest następująca:

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

Parametry i przełączniki są następujące:

inputFilename Nazwa pliku, w tym rozszerzenie, pliku zasobu, dla którego ma być generowana silnie typizowana klasa zasobów. Plik może być plikiem tekstowym, plikiem w formacie XML lub binarnym plikiem resources; może mieć rozszerzenie txt, restext, resw lub resources.

outputFilename Nazwa pliku wyjściowego. Jeśli outputFilename zawiera ścieżkę katalogu, katalog musi istnieć. Jeśli pominięto outputFilenameplik Resgen.exe tworzy plik resources z nazwą inputFilename pliku głównego w tym samym katalogu co inputFilename.

outputFilename może być plikiem .resources opartym na tekście, xml lub binarnym. Jeśli rozszerzenie outputFilename pliku różni się od rozszerzenia inputFilenamepliku , resgen.exe wykonuje konwersję pliku.

Jeśli inputFilename jest to plik resources, plik Resgen.exe kopiuje plik resources, jeśli outputFilename jest również plikiem resources. Jeśli outputFilename pominięto plik Resgen.exe, zastępuje inputFilename go identycznym plikiem resources.

language Język, w którym ma być generowany kod źródłowy dla silnie typizowanej klasy zasobów. Możliwe wartości to cs, C#, i csharp dla kodu vb C# oraz visualbasic dla kodu Języka Visual Basic oraz vbsvbscript dla kodu VBScript oraz c++mc, i cpp dla kodu C++.

namespace Przestrzeń nazw zawierająca silnie typizowana klasę zasobów. Plik resources i klasa zasobów powinny mieć taką samą przestrzeń nazw. Aby uzyskać informacje na temat określania przestrzeni nazw w pliku outputFilename, zobacz Kompilowanie zasobów do pliku binarnego. Jeśli przestrzeń nazw zostanie pominięta, klasa zasobów nie jest zawarta w przestrzeni nazw.

classname Nazwa silnie typizowanej klasy zasobów. Powinna odpowiadać głównej nazwie pliku resources. Na przykład jeśli program Resgen.exe generuje plik resources o nazwie MyCompany.Libraries.Strings.resources, nazwa silnie typizowanej klasy zasobów to Strings. Jeśli pominięto nazwę klasy, wygenerowana klasa pochodzi z nazwy głównej outputFilenameklasy . Jeśli outputFilename zostanie pominięta, wygenerowana klasa pochodzi z nazwy głównej inputFilenameklasy .

nazwa klasy nie może zawierać nieprawidłowych znaków, takich jak spacje osadzone. Jeśli nazwa klasy zawiera osadzone spacje lub jeśli nazwa klasy jest domyślnie generowana z inputFilename, a inputFilename zawiera osadzone spacje, resgen.exe zastępuje wszystkie nieprawidłowe znaki podkreśleniem (_).

nazwa pliku klasy.

/publicclass Sprawia, że silnie typizowana klasa zasobów jest publiczna, a internal nie (w języku C#) lub Friend (w Visual Basic). Dzięki temu zasoby będą dostępne spoza zestawu, w którym są osadzone.

Ważne

Podczas tworzenia silnie typizowanej klasy zasobów nazwa pliku resources musi odpowiadać przestrzeni nazw i nazwie klasy generowanego kodu. Jednak program Resgen.exe umożliwia określenie opcji, które tworzą plik resources mający niezgodną nazwę. Aby obejść ten problem, należy zmienić nazwę pliku wyjściowego po jego wygenerowaniu.

Silnie typizowana klasa zasobów ma następujące składowe:

  • Konstruktor bez parametrów, który może służyć do tworzenia wystąpienia silnie typizowanej klasy zasobów.

  • Właściwość static (C#) lub Shared (Visual Basic) i tylko ResourceManager do odczytu, która zwraca ResourceManager wystąpienie, które zarządza silnie typiowanym zasobem.

  • Właściwość statyczna Culture , która umożliwia ustawienie kultury używanej do pobierania zasobów. Domyślnie jego wartość to null, co oznacza, że jest używana bieżąca kultura interfejsu użytkownika.

  • Jedna static właściwość (C#) lub Shared (Visual Basic) i tylko do odczytu dla każdego zasobu w pliku resources. Nazwa właściwości to nazwa zasobu.

Na przykład następujące polecenie kompiluje plik zasobu o nazwie StringResources.txt do pliku StringResources.resources i generuje klasę o nazwie StringResources w pliku kodu źródłowego Języka Visual Basic o nazwie StringResources.vb, który może służyć do uzyskiwania dostępu do usługi Resource Manager.

resgen StringResources.txt /str:vb,,StringResources

Zobacz też