문자열 사전에서 .resx 파일을 만들려고합니다. 다행히 .NET Framework에는 ResXResourceWriter 클래스가 있습니다. 유일한 문제는 아래 코드를 사용하여 파일을 만들면 생성 된 resx 파일의 마지막 몇 줄이 사라진다는 것입니다. 나는 내 사전을 검사했고 기대했던 모든 문자열 쌍을 포함하고있다. 이 마지막 조금 2198 (2222 있어야한다) 라인을 가지고 있지만 여기부터ResXResourceWriter 파일 끝 부분을 잘라 내기
public void ExportToResx(Dictionary<string,string> resourceDictionary, string fileName)
{
var writer = new ResXResourceWriter(fileName);
foreach (var resource in resourceDictionary)
{
writer.AddResource(resource.Key, resource.Value);
}
}
불행하게도, 그것은 전체 RESX 파일을 보여주기 위해 조금 어렵습니다 : BTW
...
2195 <data name="LangAlign_ReportIssue" xml:space="preserve">
2196 <value>Report an Issue</value>
2197 </data>
2198 <data name="LangAlign_Return
을의 통지 파일은 "LangAlign_Return"에서 "n"의 끝에서 오른쪽으로 잘립니다. 문자열에 "LangAlign_ReturnToWorkspace"가 있어야합니다. 파일은 2222 줄에서 끝나야합니다.
이 제안을 두 번 선택했지만이 문자열 앞뒤에 인쇄 할 수없는 문자가 없습니다. 나는 당신의 제안을 읽을 때 반쯤은 그것이 문제가 될 것이라고 예상했습니다. 감사합니다. 아론 –
아, 너무 나쁘다. 사전에이 값만 입력하면 같은 오류가 발생합니까? – Andy
사전 작성에 사용 된 XML 파일 (이상한 문자가 남아 있는지 확인)을 편집하여 문제가되는 항목까지 내려갔습니다. 나는이 아래에있는 다른 모든 항목도 보관했다. 파일은 XML 속성 중 하나의 중간과 다른 지점에서 잘려있었습니다. 그래서 ResXResourceWriter 클래스에 의해 만들어진 자리에서 잘라 내기 때문에 내 문자열이 아니라는 것을 알고 있습니다. 흠,이게 무슨 일인지 궁금해. 내 코드는 더 간단 할 수 없다. –