다음을 통해 공유


Resgen.exe(리소스 파일 생성기)

리소스 파일 생성기(Resgen.exe)는 텍스트(.txt 또는 .restext) 파일과 XML 기반 리소스 형식(.resx) 파일을 런타임 이진 실행 파일 또는 위성 어셈블리에 포함할 수 있는 공용 언어 런타임 이진 파일(.resources) 파일로 변환합니다. 자세한 내용은 리소스 파일 만들기를 참조하세요.

Resgen.exe 다음 작업을 수행하는 범용 리소스 변환 유틸리티입니다.

  • .txt 또는 .restext 파일을 .resources 또는 .resx 파일로 변환합니다. .restext 파일의 형식은 .txt 파일의 형식과 동일합니다. 그러나 .restext 확장을 사용하면 리소스 정의가 포함된 텍스트 파일을 보다 쉽게 식별할 수 있습니다.)

  • .resources 파일을 텍스트 또는 .resx 파일로 변환합니다.

  • .resx 파일을 텍스트 또는 .resources 파일로 변환합니다.

  • 어셈블리에서 문자열 리소스를 Windows 8.x 스토어 앱에서 사용하기에 적합한 .resw 파일로 추출합니다.

  • 명명된 개별 리소스 및 인스턴스에 대한 액세스를 제공하는 강력한 형식의 클래스를 ResourceManager 만듭니다.

어떤 이유로든 Resgen.exe 실패하면 반환 값은 -1입니다.

Resgen.exe대한 도움말을 보려면 지정된 옵션 없이 다음 명령을 사용하여 명령 구문과 Resgen.exe옵션을 표시할 수 있습니다.

resgen

스위치를 사용할 수도 있습니다./?

resgen /?

Resgen.exe 사용하여 이진 .resources 파일을 생성하는 경우 언어 컴파일러를 사용하여 이진 파일을 실행 가능한 어셈블리에 포함하거나 어셈블리 링커(Al.exe) 를 사용하여 위성 어셈블리로 컴파일할 수 있습니다.

이 도구는 Visual Studio와 함께 자동으로 설치됩니다. 도구를 실행하려면 Visual Studio 개발자 명령 프롬프트 또는 Visual Studio 개발자 PowerShell을 사용합니다.

명령 프롬프트에서 다음을 입력합니다.

문법

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

매개 변수

매개 변수 또는 스위치 Description
/define: symbol1[, symbol2,...] .NET Framework 4.5부터 텍스트 기반(.txt 또는 .restext) 리소스 파일에서 조건부 컴파일을 지원합니다. 기호가 구문 내 #ifdef 의 입력 텍스트 파일에 포함된 기호에 해당하면 연결된 문자열 리소스가 .resources 파일에 포함됩니다. 입력 텍스트 파일에 스위치로 #if ! 정의 /define 되지 않은 기호가 있는 문이 포함된 경우 연결된 문자열 리소스가 리소스 파일에 포함됩니다.

/define 는 텍스트가 아닌 파일과 함께 사용되는 경우 무시됩니다. 기호는 대/소문자를 구분합니다.

이 옵션에 대한 자세한 내용은 이 항목의 뒷 부분에 있는 조건부 컴파일 리소스를 참조하세요.
useSourcePath 입력 파일의 현재 디렉터리를 사용하여 상대 파일 경로를 확인하도록 지정합니다.
/compile 여러 .resx 또는 텍스트 파일을 지정하여 단일 대량 작업에서 여러 .resources 파일로 변환할 수 있습니다. 이 옵션을 지정하지 않으면 입력 파일 인수를 하나만 지정할 수 있습니다. 출력 파일의 이름은 filename.resources입니다.

이 옵션은 옵션과 함께 /str: 사용할 수 없습니다.

이 옵션에 대한 자세한 내용은 이 항목의 뒷부분에 있는 여러 파일 컴파일 또는 변환을 참조하세요.
/r: assembly 지정된 어셈블리에서 메타데이터를 참조합니다. .resx 파일을 변환할 때 사용되며 Resgen.exe 개체 리소스를 직렬화하거나 역직렬화할 수 있습니다. C# 및 Visual Basic 컴파일러에 대한 옵션 또는 /r: 옵션과 비슷합니다/reference:.
filename.extension 변환할 입력 파일의 이름을 지정합니다. 이 테이블 extension 앞에 표시되는 첫 번째 긴 명령줄 구문을 사용하는 경우 다음 중 하나여야 합니다.

.txt 또는 .restext
.resources 또는 .resx 파일로 변환할 텍스트 파일입니다. 텍스트 파일에는 문자열 리소스만 포함될 수 있습니다. 파일 형식에 대한 자세한 내용은 리소스 파일 만들기의 "텍스트 파일의 리소스" 섹션을 참조하세요.

.resx
.resources 또는 텍스트(.txt 또는 .restext) 파일로 변환할 XML 기반 리소스 파일입니다.

.리소스
.resx 또는 텍스트(.txt 또는 .restext) 파일로 변환할 이진 리소스 파일입니다.

이 표 extension 앞에 표시되는 두 번째 짧은 명령줄 구문을 사용하는 경우 다음을 수행해야 합니다.

.exe 또는 .dll
Windows 8.x 스토어 앱 개발에 사용하기 위해 .resw 파일로 문자열 리소스를 추출해야 하는 .NET Framework 어셈블리(실행 파일 또는 라이브러리)입니다.
outputFilename.extension 만들 리소스 파일의 이름과 형식을 지정합니다.

이 인수는 .txt, .restext 또는 .resx 파일에서 .resources 파일로 변환할 때 선택 사항입니다. 지정 outputFilename하지 않으면 Resgen.exe 입력 filename 에 .resources 확장을 추가하고 포함된 디렉터리에 filename,extension파일을 씁니다.

인수는 outputFilename.extension .resources 파일에서 변환할 때 필수입니다. .resources 파일을 XML 기반 리소스 파일로 변환할 때 .resx 확장명을 사용하여 파일 이름을 지정합니다. .resources 파일을 텍스트 파일로 변환할 때 .txt 또는 .restext 확장명을 사용하여 파일 이름을 지정합니다. .resources 파일에 문자열 값만 포함된 경우에만 .resources 파일을 .txt 파일로 변환해야 합니다.
outputDirectory Windows 8.x 스토어 앱의 경우 문자열 리소스가 포함된 .resw 파일이 기록될 디렉터리를 지정합니다 filename.extension . outputDirectory 는 이미 존재해야 합니다.
/str: language[,namespace[,classname[,filename]]] 옵션에 지정된 language 프로그래밍 언어로 강력한 형식의 리소스 클래스 파일을 만듭니다. language 는 다음 리터럴 중 하나로 구성됩니다.

- C#: c#, cs또는 csharp.
- Visual Basic의 경우: vb 또는 visualbasic.
- VBScript의 경우: vbs 또는 vbscript.
- C++: c++, mc또는 cpp.
- JavaScript의 경우: js, jscript또는 javascript.

namespace 옵션은 프로젝트의 기본 네임스페이스를 지정하고, classname 이 옵션은 생성된 클래스의 이름을 지정하며 filename , 이 옵션은 클래스 파일의 이름을 지정합니다.

/str: 옵션은 하나의 입력 파일만 허용하므로 옵션과 함께 /compile 사용할 수 없습니다.

지정되었지만 classname 그렇지 않은 경우 namespace 클래스 이름은 출력 파일 이름에서 파생됩니다(예: 밑줄은 마침표로 대체됨). 강력한 형식의 리소스가 제대로 작동하지 않을 수 있습니다. 이를 방지하려면 클래스 이름과 출력 파일 이름을 모두 지정합니다.

이 옵션에 대한 자세한 내용은 이 항목의 뒷부 분에 있는 강력한 형식의 리소스 클래스 생성 을 참조하세요.
/publicClass 강력한 형식의 리소스 클래스를 공용 클래스로 만듭니다. 기본적으로 리소스 클래스는 internal C# 및 Friend Visual Basic에 있습니다.

옵션을 사용하지 않으면 /str: 이 옵션이 무시됩니다.

Resgen.exe 및 리소스 파일 형식

Resgen.exe 리소스를 성공적으로 변환하려면 텍스트 및 .resx 파일이 올바른 형식을 따라야 합니다.

Text(.txt 및 .restext) 파일

텍스트(.txt 또는 .restext) 파일에는 문자열 리소스만 포함될 수 있습니다. 문자열 리소스는 여러 언어로 번역된 문자열이 있어야 하는 애플리케이션을 작성하는 경우에 유용합니다. 예를 들어 적절한 문자열 리소스를 사용하여 메뉴 문자열을 쉽게 지역화할 수 있습니다. Resgen.exe 이름/값 쌍이 포함된 텍스트 파일을 읽습니다. 여기서 이름은 리소스를 설명하는 문자열이고 값은 리소스 문자열 자체입니다.

비고

.txt 및 .restext 파일의 형식에 대한 자세한 내용은 리소스 파일 만들기의 "텍스트 파일의 리소스" 섹션을 참조하세요.

리소스가 포함된 텍스트 파일은 기본 라틴어 범위(U+007F)의 문자만 포함하지 않는 한 UTF-8 또는 유니코드(UTF-16) 인코딩으로 저장해야 합니다. Resgen.exe ANSI 인코딩을 사용하여 저장된 텍스트 파일을 처리할 때 확장된 ANSI 문자를 제거합니다.

Resgen.exe 텍스트 파일에서 중복 리소스 이름을 확인합니다. 텍스트 파일에 중복 리소스 이름이 포함된 경우 Resgen.exe 경고를 내보내고 두 번째 값을 무시합니다.

.resx 파일

.resx 리소스 파일 형식은 XML 항목으로 구성됩니다. 텍스트 파일에서와 마찬가지로 이러한 XML 항목 내에서 문자열 리소스를 지정할 수 있습니다. 텍스트 파일보다 .resx 파일의 주요 이점은 개체를 지정하거나 포함할 수도 있다는 것입니다. .resx 파일을 볼 때 이 이진 정보가 리소스 매니페스트의 일부일 때 포함된 개체의 이진 형식(예: 그림)을 볼 수 있습니다. 텍스트 파일과 마찬가지로 텍스트 편집기(예: 메모장 또는 Microsoft Word)를 사용하여 .resx 파일을 열고 해당 내용을 작성, 구문 분석 및 조작할 수 있습니다. 이렇게 하려면 XML 태그 및 .resx 파일 구조에 대한 지식이 필요합니다. .resx 파일 형식에 대한 자세한 내용은 리소스 파일 만들기의 ".resx 파일의 리소스" 섹션을 참조 하세요.

포함된 문자열이 없는 개체가 포함된 .resources 파일을 만들려면 Resgen.exe 사용하여 개체가 포함된 .resx 파일을 변환하거나 클래스에서 제공하는 ResourceWriter 메서드를 호출하여 코드에서 직접 파일에 개체 리소스를 추가해야 합니다.

.resx 또는 .resources 파일에 개체가 포함되어 있고 Resgen.exe 사용하여 텍스트 파일로 변환하는 경우 모든 문자열 리소스가 올바르게 변환되지만 문자열이 아닌 개체의 데이터 형식도 문자열로 파일에 기록됩니다. 변환에서 포함된 개체가 손실되고 Resgen.exe 리소스 검색 시 오류가 발생했음을 보고합니다.

리소스 파일 형식 간 변환

다른 리소스 파일 형식 간에 변환하는 경우 Resgen.exe 변환을 수행하지 못하거나 원본 및 대상 파일 형식에 따라 특정 리소스에 대한 정보가 손실될 수 있습니다. 다음 표에서는 한 리소스 파일 형식에서 다른 리소스 파일 형식으로 변환할 때 성공한 변환 형식을 지정합니다.

에서 변환 텍스트 파일로 .resx 파일로 파일을 .resw하려면 .resources 파일로
텍스트(.txt 또는 .restext) 파일 -- 문제 없음 지원되지 않음 문제 없음
.resx 파일 파일에 문자열이 아닌 리소스(파일 링크 포함)가 포함된 경우 변환이 실패합니다. -- 지원되지 않음* 문제 없음
.resources 파일 파일에 문자열이 아닌 리소스(파일 링크 포함)가 포함된 경우 변환이 실패합니다. 문제 없음 지원되지 않음 --
.exe 또는 .dll 어셈블리 지원되지 않음 지원되지 않음 문자열 리소스(경로 이름 포함)만 리소스로 인식됩니다. 지원되지 않음

*Windows 8.x 스토어 앱에서는 .resw 파일을 사용하여 리소스를 만듭니다. 파일 확장자의 차이에도 불구하고 .resw 파일 형식은 .resx 파일 형식과 동일합니다. 단, .resw 파일에는 문자열 및 파일 경로만 포함될 수 있습니다. 파일 확장자를 변경하기만 하면 문자열 및 파일 경로만 포함된 .resx 파일을 .resw 파일로 변환할 수 있습니다.

특정 Resgen.exe 작업 수행

텍스트 기반 또는 XML 기반 리소스 파일을 이진 파일로 컴파일하고, 리소스 파일 형식 간에 변환하고, 기능을 래핑 ResourceManager 하고 리소스에 대한 액세스를 제공하는 클래스를 생성하는 등 다양한 방법으로 Resgen.exe 사용할 수 있습니다. 이 섹션에서는 각 작업에 대한 자세한 정보를 제공합니다.

리소스를 이진 파일로 컴파일

Resgen.exe 가장 일반적으로 사용하는 것은 텍스트 기반 리소스 파일(.txt 또는 .restext 파일) 또는 XML 기반 리소스 파일(.resx 파일)을 이진 .resources 파일로 컴파일하는 것입니다. 그런 다음 출력 파일은 언어 컴파일러 또는 어셈블리 링커(AL.exe)가 위성 어셈블리에 주 어셈블리에 포함할 수 있습니다.

리소스 파일을 컴파일하는 구문은 다음과 같습니다.

resgen inputFilename [outputFilename]

여기서 매개 변수는 다음과 같습니다.

inputFilename 컴파일할 리소스 파일의 확장명을 포함한 파일 이름입니다. Resgen.exe 확장명은 .txt, .restext 또는 .resx인 파일만 컴파일합니다.

outputFilename 출력 파일의 이름입니다. 생략 outputFilename하면 Resgen.exe .resources 파일을 inputFilenameinputFilename만듭니다. 디렉터리 경로가 포함된 경우 outputFilename 디렉터리가 있어야 합니다.

파일 이름에 지정하고 루트 파일 이름에서 마침표로 구분하여 .resources 파일에 대한 정규화된 네임스페이스를 제공합니다. 예를 들어 이 경우 outputFilenameMyCompany.Libraries.Strings.resources네임스페이스는 MyCompany.Libraries입니다.

다음 명령은 Resources.txt 이름/값 쌍을 읽고 Resources.resources라는 이진 .resources 파일을 씁니다. 출력 파일 이름은 명시적으로 지정되지 않으므로 기본적으로 입력 파일과 동일한 이름을 받습니다.

resgen Resources.txt

다음 명령은 Resources.restext에서 이름/값 쌍을 읽고 StringResources.resources라는 이진 리소스 파일을 씁니다.

resgen Resources.restext StringResources.resources

다음 명령은 Resources.resx라는 XML 기반 입력 파일을 읽고 Resources.resources라는 이진 .resources 파일을 씁니다.

resgen Resources.resx Resources.resources

리소스 파일 형식 간 변환

텍스트 기반 또는 XML 기반 리소스 파일을 이진 .resources 파일로 컴파일하는 것 외에도 Resgen.exe 지원되는 파일 형식을 다른 지원되는 파일 형식으로 변환할 수 있습니다. 즉, 다음 변환을 수행할 수 있습니다.

  • 파일을 .resx 파일에 .txt.restext합니다.

  • .txt 및 .restext 파일에 대한 .resx 파일입니다.

  • .txt .restext 파일에 대한 .resources 파일입니다.

  • .resx 파일에 대한 .resources 파일입니다.

구문은 이전 섹션에 표시된 구문과 동일합니다.

또한 Resgen.exe 사용하여 .NET Framework 어셈블리의 포함된 리소스를 Windows 8.x 스토어 앱용 .resw 파일로 변환할 수 있습니다.

다음 명령은 Resources.resources라는 이진 리소스 파일을 읽고 Resources.resx라는 XML 기반 출력 파일을 씁니다.

resgen Resources.resources Resources.resx

다음 명령은 StringResources.txt 텍스트 기반 리소스 파일을 읽고 LibraryResources.resx라는 XML 기반 리소스 파일을 씁니다. 문자열 리소스를 포함하는 것 외에도 .resx 파일을 사용하여 문자열이 아닌 리소스를 저장할 수도 있습니다.

resgen StringResources.txt LibraryResources.resx

다음 두 명령은 Resources.resx라는 XML 기반 리소스 파일을 읽고 Resources.txt 및 Resources.restext라는 텍스트 파일을 씁니다. .resx 파일에 포함된 개체가 포함되어 있으면 텍스트 파일로 정확하게 변환되지 않습니다.

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

여러 파일 컴파일 또는 변환

스위치를 /compile 사용하여 단일 작업에서 리소스 파일 목록을 한 형식에서 다른 형식으로 변환할 수 있습니다. 구문은 다음과 같습니다.

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

다음 명령은 StringResources.txt, TableResources.resw 및 ImageResources.resw의 세 파일을 StringResources.resources, TableResources.resources 및 ImageResources.resources라는 별도의 .resources 파일로 컴파일합니다.

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

리소스를 .resw 파일로 내보내기

Windows 8.x 스토어 앱을 개발하는 경우 기존 데스크톱 앱의 리소스를 사용할 수 있습니다. 그러나 두 종류의 애플리케이션은 서로 다른 파일 형식을 지원합니다. 데스크톱 앱에서 텍스트(.txt 또는 .restext) 또는 .resx 파일의 리소스는 이진 .resources 파일로 컴파일됩니다. Windows 8.x 스토어 앱에서 .resw 파일은 PRI(이진 패키지 리소스 인덱스) 파일로 컴파일됩니다. Resgen.exe 사용하여 실행 파일 또는 위성 어셈블리에서 리소스를 추출하고 Windows 8.x 스토어 앱을 개발할 때 사용할 수 있는 하나 이상의 .resw 파일에 작성하여 이러한 격차를 해소할 수 있습니다.

중요합니다

Visual Studio는 이식 가능한 라이브러리의 리소스를 Windows 8.x 스토어 앱에 통합하는 데 필요한 모든 변환을 자동으로 처리합니다. Resgen.exe 직접 사용하여 어셈블리의 리소스를 .resw 파일 형식으로 변환하는 것은 Visual Studio 외부에서 Windows 8.x 스토어 앱을 개발하려는 개발자에게만 중요합니다.

어셈블리에서 .resw 파일을 생성하는 구문은 다음과 같습니다.

resgen filename.extension  [outputDirectory]

여기서 매개 변수는 다음과 같습니다.

filename.extension .NET Framework 어셈블리(실행 파일 또는 .DLL)의 이름입니다. 파일에 리소스가 없는 경우 Resgen.exe 파일을 만들지 않습니다.

outputDirectory .resw 파일을 쓸 기존 디렉터리입니다. 생략하면 outputDirectory .resw 파일이 현재 디렉터리에 기록됩니다. Resgen.exe 어셈블리의 각 .resources 파일에 대해 하나의 .resw 파일을 만듭니다. .resw 파일의 루트 파일 이름은 .resources 파일의 루트 이름과 동일합니다.

다음 명령은 MyApp.exe포함된 각 .resources 파일에 대한 Win8Resources 디렉터리에 .resw 파일을 만듭니다.

resgen MyApp.exe Win8Resources

조건부로 리소스 컴파일

.NET Framework 4.5부터 Resgen.exe 텍스트(.txt 및 .restext) 파일에서 문자열 리소스의 조건부 컴파일을 지원합니다. 이렇게 하면 여러 빌드 구성에서 단일 텍스트 기반 리소스 파일을 사용할 수 있습니다.

.txt 또는 .restext 파일 #ifdef에서 ... #endif구문은 기호가 정의된 경우 이진 .resources 파일에 리소스를 포함하고... 구문을 사용하여 #if !#endif 기호가 정의되지 않은 경우 리소스를 포함합니다. 그런 다음 컴파일 시간에 쉼표로 구분된 기호 목록 뒤에 옵션을 사용하여 /define: 기호를 정의합니다. 비교 시 대/소문자를 구분합니다. 정의된 /define 기호의 대/소문자는 컴파일할 텍스트 파일의 기호 사례와 일치해야 합니다.

예를 들어 UIResources.text라는 다음 파일에는 명명된 기호가 정의되었는지에 따라 세 가지 값 중 하나를 사용할 수 있는 문자열 AppTitlePRODUCTIONCONSULTRETAIL 리소스가 포함되어 있습니다.

#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

그런 다음, 다음 명령을 사용하여 이진 .resources 파일로 파일을 컴파일할 수 있습니다.

resgen /define:CONSULT UIResources.restext

이렇게 하면 두 개의 문자열 리소스가 포함된 .resources 파일이 생성됩니다. 리소스의 AppTitle 값은 "내 컨설팅 회사 프로젝트 관리자"입니다.

강력한 형식의 리소스 클래스 생성

Resgen.exe 정적 읽기 전용 속성 집합을 포함하는 클래스를 만들어 리소스에 대한 액세스를 캡슐화하는 강력한 형식의 리소스를 지원합니다. 리소스를 검색하기 위해 클래스의 메서드를 ResourceManager 직접 호출하는 대신 사용할 수 있습니다. 클래스의 기능을 래핑하는 Resgen.exe옵션을 사용하여 /str 강력한 형식의 StronglyTypedResourceBuilder 리소스 지원을 사용하도록 설정할 수 있습니다. 옵션을 지정 /str 하면 Resgen.exe 출력은 입력 매개 변수에서 참조되는 리소스와 일치하는 강력한 형식의 속성을 포함하는 클래스입니다. 이 클래스는 처리된 파일에서 사용할 수 있는 리소스에 대한 강력한 형식의 읽기 전용 액세스를 제공합니다.

강력한 형식의 리소스를 만드는 구문은 다음과 같습니다.

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

매개 변수 및 스위치는 다음과 같습니다.

inputFilename 강력한 형식의 리소스 클래스를 생성할 리소스 파일의 확장명을 포함한 파일 이름입니다. 파일은 텍스트 기반, XML 기반 또는 이진 .resources 파일일 수 있습니다. .txt, .restext, .resw 또는 .resources 확장이 있을 수 있습니다.

outputFilename 출력 파일의 이름입니다. 디렉터리 경로가 포함된 경우 outputFilename 디렉터리가 있어야 합니다. 생략 outputFilename하면 Resgen.exe .resources 파일을 inputFilenameinputFilename만듭니다.

outputFilename 는 텍스트 기반, XML 기반 또는 이진 .resources 파일일 수 있습니다. 파일 확장명은 파일 확장 outputFilename 명은 파일 확장명입니다 inputFilename. Resgen.exe 파일 변환을 수행합니다.

.resources 파일인 경우 inputFilename Resgen.exe .resources 파일인 경우 outputFilename .resources 파일을 복사합니다. 생략하면 outputFilename Resgen.exe 동일한 .resources 파일로 덮어씁 inputFilename 니다.

언어 강력한 형식의 리소스 클래스에 대한 소스 코드를 생성할 언어입니다. 가능한 값은 CC## 코드, visualbasic Visual Basic 코드, vbvbscriptvbs VBScript 코드 및 mcc++C++ 코드의 경우입니다cpp.csharpcs

Namespace 강력한 형식의 리소스 클래스를 포함하는 네임스페이스입니다. .resources 파일 및 리소스 클래스에는 동일한 네임스페이스가 있어야 합니다. 네임스페이스를 outputFilename지정하는 방법에 대한 자세한 내용은 리소스를 이진 파일로 컴파일하는 것을 참조하세요. 네임스페이스를 생략하면 리소스 클래스가 네임스페이스에 포함되지 않습니다.

classname 강력한 형식의 리소스 클래스의 이름입니다. .resources 파일의 루트 이름에 해당해야 합니다. 예를 들어 Resgen.exe MyCompany.Libraries.Strings.resources라는 .resources 파일을 생성하는 경우 강력한 형식의 리소스 클래스의 이름은 Strings입니다. 클래스 이름을 생략하면 생성된 클래스는 루트 이름outputFilename에서 파생됩니다. 생략하면 outputFilename 생성된 클래스는 루트 이름 inputFilename에서 파생됩니다.

클래스 이름은 포함된 공백과 같은 잘못된 문자를 포함할 수 없습니다. 클래스 이름에 포함된 공백이 있거나 inputFilename에서 기본적으로 클래스 이름이 생성되고 inputFilename에 포함된 공백이 포함된 경우 Resgen.exe 잘못된 모든 문자를 밑줄(_)로 대체합니다.

파일 클래스 파일의 이름입니다.

/publicclass강력한 형식의 리소스 클래스를 C#이나 (Visual Basic에서) Friend 대신 internal 공용으로 만듭니다. 이렇게 하면 리소스가 포함된 어셈블리 외부에서 리소스에 액세스할 수 있습니다.

중요합니다

강력한 형식의 리소스 클래스를 만들 때 .resources 파일의 이름은 생성된 코드의 네임스페이스 및 클래스 이름과 일치해야 합니다. 그러나 Resgen.exe 호환되지 않는 이름을 가진 .resources 파일을 생성하는 옵션을 지정할 수 있습니다. 이 동작을 해결하려면 출력 파일이 생성된 후 이름을 바꿉니다.

강력한 형식의 리소스 클래스에는 다음 멤버가 있습니다.

  • 강력한 형식의 리소스 클래스를 인스턴스화하는 데 사용할 수 있는 매개 변수가 없는 생성자입니다.

  • 강력한 형식의 리소스를 관리하는 인스턴스를 반환하는 A static (C#) 또는 Shared (Visual Basic) 및 읽기 전용 ResourceManager 속성 ResourceManager 입니다.

  • 리소스 검색에 사용되는 문화권을 설정할 수 있는 정적 Culture 속성입니다. 기본적으로 해당 값은 null현재 UI 문화권이 사용됨을 의미합니다.

  • .resources 파일의 각 리소스에 대한 하나 static (C#) 또는 Shared (Visual Basic) 및 읽기 전용 속성입니다. 속성의 이름은 리소스의 이름입니다.-

예를 들어 다음 명령은 StringResources.txt이라는 리소스 파일을 StringResources.resources로 컴파일하고 Resource Manager에 액세스하는 데 사용할 수 있는 StringResources.vb이라는 Visual Basic 소스 코드 파일에 이름이 지정된 StringResources 클래스를 생성합니다.

resgen StringResources.txt /str:vb,,StringResources

참고하십시오