2011-11-29 2 views
1

내가 내 프로젝트에서 지역화 된 RESX 파일의 번호를 가지고 비어있는 문화를 할당합니다MSBuild를 AssignCulture 작업 사이비-문화를 위해 (QPS-ploc, QPS-plocm)를

Messages.resx 
    Messages.de.resx 
    Messages.qps-ploc.resx 

의사 현지화 된 텍스트있는 마지막 하나 테스트 용 리소스. 다른 지역화와 마찬가지로 위성 어셈블리 (예 : project/qps-ploc/project.resources.dll)로 컴파일하고 싶습니다. 그러나 어떤 이유로 AssignCulture 태스크가 빈 culture를이 리소스에 할당하고 결과로 컴파일되지 않습니다.

은 MSBuild 로그에서 발췌문 :

Task "AssignCulture" 
     Culture of "de" was assigned to file "Resources\Messages.de.resx". 
     Culture of "" was assigned to file "Resources\Messages.resx". 
     Culture of "" was assigned to file "Resources\Messages.qps-ploc.resx". 
    Done executing task "AssignCulture". 

의사 현지화 문화 설명 herenew CultureInfo("qps-ploc") 반환 올바른 의사 문화로 레지스트리에 사용할 수있다.

AssignCulture에서 예상되는 동작입니까 아니면 잘못 사용하고 있습니까?

답변

1

무슨 일이 일어 났는지는 확실치 않지만 갑자기 모든 것이 작동하기 시작했습니다. 아마도 시스템 재부팅과 관련이있을 것입니다.

0

동일한 문제가 있었으며 재부팅 후에도 문제가 해결되었습니다. AssignCulture 작업이 리소스 파일에 사용 된 문화권을 확인해야하고 Windows/Globalization 폴더에 .nlp 파일이있는 표준 문화권 또는 사용자 지정 문화권이 아닌 경우 할당 및 리소스 파일이 할당되지 않는 것이 원인이라고 생각합니다. 만들어집니다.

제 경우에는 사용자 지정 문화권을 만들었지 만 Visual Studio는 이전 시스템 재부팅시 발견 된 리소스 파일을 캐시해야하므로 Visual Studio에서 알지 못했을 것입니다. PC를 다시 재부팅하면 캐싱 된 리소스 파일 (사용자 지정 파일 포함)이 업데이트되어야하며 AssignCulture 작업은 리소스를 성공적으로 일치시킬 수 있었고 리소스 파일이 만들어졌습니다.