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ą Resgen.exe, możesz użyć następującego polecenia bez określonych opcji, aby wyświetlić składnię poleceń i opcje dla Resgen.exe:
resgen
Możesz również użyć przełącznika /?
:
resgen /?
Jeśli używasz Resgen.exe do generowania binarnych plików resources, możesz użyć kompilatora języka, aby osadzić pliki binarne 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 outputFilename parametru , Resgen.exe dołącza rozszerzenie resources do danych wejściowych filename i zapisuje plik w katalogu zawierającym filename,extension .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# , cs lub csharp .— Dla języka Visual Basic: vb lub visualbasic .— w przypadku języka VBScript: vbs lub vbscript .- Dla języka C++: c++ , mc lub cpp .— Dla języka JavaScript: js , jscript lub 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ć 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ć 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 program 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. outputFilename
Jeśli pominięto polecenie , Resgen.exe utworzy 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ć Resgen.exe do konwertowania zasobów osadzonych 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żesz użyć Resgen.exe, aby wypełnić tę lukę, wyodrębniając zasoby z pliku wykonywalnego lub zestawu satelitarnego i zapisując je do co najmniej jednego 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 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 (wykonywalnego lub .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, 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 AppTitle
PRODUCTION
, CONSULT
lub 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 Resgen.exe, która opakowuje funkcjonalność StronglyTypedResourceBuilder klasy. Po określeniu /str
opcji dane wyjściowe 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ć. outputFilename
Jeśli pominięto polecenie , Resgen.exe utworzy 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 inputFilename
pliku , Resgen.exe wykonuje konwersję pliku.
Jeśli inputFilename
jest to plik resources, Resgen.exe kopiuje plik resources, jeśli outputFilename
jest również plikiem resources. Jeśli outputFilename
zostanie pominięty, Resgen.exe zastąpić inputFilename
identyczny plik 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 vbs
vbscript
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 outputFilename
klasy . Jeśli outputFilename
zostanie pominięta, wygenerowana klasa pochodzi z nazwy głównej inputFilename
klasy .
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 na podstawie inputFilename, a inputFilename zawiera osadzone spacje, Resgen.exe zastępuje wszystkie nieprawidłowe znaki podkreślenia (_).
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#) lubShared
(Visual Basic) i tylkoResourceManager
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ść tonull
, co oznacza, że jest używana bieżąca kultura interfejsu użytkownika.Jedna
static
właściwość (C#) lubShared
(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 zasobów 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