0

C# 응용 프로그램에 세계화 지원을 추가하려고합니다. MSDN에 따르면 중립 문화권에는 하나의 포함 된 리소스 파일이 있어야하고 다른 문화권에는 리소스 파일이 포함 된 위성 DLL이 있어야합니다.VS 2008에서 .resource 파일을 인식하지 못합니다.

아무런 문제없이 2 개의 위성 DLL을 만들었고 내 응용 프로그램이 ResourceManager를 사용하여 자동으로로드되도록했습니다. 하지만 기본 중립 문화 리소스 파일을 내 실행 파일에 임베드 할 수는 없습니다. 모든 위성 DLL을 제거하거나 문화권에 문화권을 설정하면 위성 DLL이 없는데 예외가 발생합니다. "지정된 문화권 또는 중립 문화에 적합한 자원을 찾을 수 없습니다." 응용 프로그램이 ResourceManager를 만들려고 할 때.

VS 2008에 .resource 파일이 주 어셈블리에 포함되어 있지 않은 것 같습니다. 텍스트 파일에서 resgen.exe로 컴파일하고 프로젝트에 추가하는 방법은 여러 가지가 있습니다. 두 번째 .resources 확장자를 추가하려면 이름을 변경하십시오. 같은 이름의 .resx 파일 만들기; 등등. 그리고 난 여전히 리소스 파일을 포함하고 ResourceManager에 의해 사용되는 방법을 볼 수 없어 - 나는 같은 예외가 발생했습니다.

VS 2008의 기본 중립 문화 리소스 파일을 응용 프로그램에 추가하는 올바른 방법은 무엇입니까?

답변

1

확인을,이 프로젝트에 '내장'이있는 된 .resx 파일의 속성 페이지에서 "사용자 지정 도구"가 "ResXCodeGenerator"

이 도움이 희망을 사용하고 있는지 확인하기 위해, 나는 해결했습니다 이 문제는 거의 '해킹'이 아닙니다.

MSDN에서 설명한대로 resgen.exe를 사용하여 리소스 파일을 컴파일 한 다음 프로젝트에 추가하고 "리소스"로 이름을 바꾸고 빌드 작업을 "없음"에서 "포함 된 리소스"로 변경했습니다.

VS 2008에 "."이 추가되었습니다. 리소스 파일 이름의 접두사로 사용됩니다. 따라서 리소스 파일 이름을 ".resources"로 지정하면 실제로 VS가 "..resources"라는 이름으로 작동하지 않습니다.

0

in .Net 리소스 파일은 .resx 확장자를 사용합니다. ,

+0

내 프로젝트에 .resx 파일이 있지만 ResourceManager에서 사용하고 싶지 않습니다. – mephisto123

관련 문제