웹 마스터가 런타임에 새로운 언어를 만들 수있는 다국어 기능이있는 ASP.NET 웹 응용 프로그램을 개발 중입니다.런타임에 리소스를 만드는 ASP.NET
내가 생각 접근 방식은 다음
는- 사용자는 하나의 가능한 (생성되지 않음) 언어를 선택합니다.
- 사용자가 확인하면 응용 프로그램은 자동으로 기존 자원 집합을 복사하여 파일 이름을 새 문화권으로 바꿉니다. 예 : default.aspx.en-us.resx - default.aspx.es-ar.resx.
- 사용자가 최근에 생성 한 리소스를 편집합니다.
현재 2 단계의 문제가 있습니다. 리소스를 복사하는 데 성공했지만,이 새로운 리소스는 무시됩니다. 나는 새로운 리소스가 실행중인 어셈블리에 포함되지 않았기 때문에 이러한 문제가 발생한다고 생각합니다. 따라서 무시됩니다.
로컬 프로젝트에서 다음 코드를 테스트 할 때 수동으로 솔루션에 새 리소스를 추가 한 다음 다시 컴파일해야 제대로 작동합니다.
누구나이 작업을 수행하는 방법을 알고 있습니까?
이것은 언급 된 사본의 코드입니다.
string _dir = path_ + "App_LocalResources\\\\";
DirectoryInfo _dirInfo = new DirectoryInfo(_dir);
foreach (FileInfo _file in _dirInfo.GetFiles("*en-us.resx")) {
_file.CopyTo(_dir + _file.Name.Replace("en-us", idioma_.Cultura));
}
string _dir2 = path_ + "App_GlobalResources\\\\";
_dirInfo = new DirectoryInfo(_dir2);
foreach (FileInfo _file in _dirInfo.GetFiles("*en-us.resx")) {
_file.CopyTo(_dir2 + _file.Name.Replace("en-us", idioma_.Cultura));
}
대단히 감사합니다.
, 특성'출력 Directory','사용자 정의 Tool' 및 '사용자 정의 도구 Namespace'으로 복사에 대한 설정'의회 처리를 빌드는 무엇 ... 당신을 도울 것입니다 .ResX 파일? – McGarnagle
기본 resx 파일에는 다음 속성이 있습니다. 빌드 acttion : "내용", 출력 디렉터리에 복사 : "복사 안 함", 사용자 지정 도구 : -nothing-, 사용자 지정 도구 네임 스페이스 : -nothing- – Javier
내 질문을 보완하기 위해 복사본 프로세스가 정상적으로 작동합니다. 문제는 복사 후에 언어를 변경할 때 이러한 새 리소스 파일이 무시되고 읽히지 않는다는 것입니다. – Javier