.NET Resource 파일의 캐리지 리턴/라인 피드 (APP_GLOBALRESORCES)
-
06-09-2019 - |
문제
나는 몇 개의 텍스트를 유지하고 있습니다 App_GlobalResources.resx
파일.
텍스트는 멀티 라인이어야하며 선 피드를 포함해야합니다. 그러나 내용을 읽을 때 모든 라인 피드가 사라졌습니다 (\r\n
그대로 인쇄됩니다 CRLF 10 13
제어 문자).
나는 다시 체포함으로써 이것을 해결할 수 있다는 것을 알고 있습니다. \r\n
(또는 그 문제에 대한 다른 것) CRLF로 돌아가는 내용을 읽을 때, 그러나이 명확하게 텍스트 - 표적화 된 RESX 파일이 제어 문자를 무시하는 이유와 CRLF가 중요한지 궁금했습니다. 이것을 자연스럽게 작동시킬 수 있습니다.
해결책
VB.net Express Edition을 사용하여 이것을 테스트했습니다.
리소스 편집기 (리소스 및 문자열 내용의 이름을 지정할 수있는 곳)에서 문자열 컨텐츠를 옮기다+입력하다.
입력하고 싶다고 가정 해 봅시다
hello
world
"hello"를 입력 한 다음 이어집니다 옮기다+입력하다 그리고 "세계".
resources.resx 파일 (XML 파일)을 보면 속성으로 노드를 생성하는 것을 볼 수 있습니다. xml:space="preserve"
.
두 번째 옵션
또한 resources.resx를 수동으로 편집하고 CDATA 섹션 아래에있는 컨텐츠를 수정할 수 있습니다.
"예제"라는 문자열이 있다고 가정하십시오. resources에서 검색하고 resx에서 컨텐츠를 변경하여 간단한 값을 가지지 않도록 CDATA 섹션을 갖도록합니다.
예를 들어
<data name="example">
<![CDATA[
hello
world
1
2 3
4
]]> </data>
다른 팁
사용 옮기다+입력하다 새 라인을 삽입합니다.
Resx Designer 인터페이스를 사용할 때
실제로 Resx 파일에 텍스트를 입력하는 경우 사용합니다.
옮기다+입력하다
다른 답변에서 언급했듯이.
RESX에서 텍스트를 붙여 넣는 경우 - Visual Studio는 텍스트를 이미와 동일한 형식으로 붙여 넣습니다 (Linebreaks / Multiline 포함).
XML 형식으로 Resx 파일을 열 때
(찾기 및 교체를 사용하여 Resx 파일을 찾으십시오.
여기에서 원하는대로 텍스트를 추가 할 수 있으며 (값 태그로) 서식이 보존됩니다.
글쎄, 내 상황에서 효과가 있었던 것은 <br>
다음과 같은 태그 :
A text with a line break <br> and this goes in the second line.
자세한 정보가 포함 된 게시물이 있습니다. RESX 리소스 파일에 라인 브레이크를 넣습니다
ASP.NET MVC와 함께 Razor View Engine을 사용하는 경우 다음을 사용해야합니다.
@Html.Raw(ResourceFile.ResourceString)
그것을 인쇄하도록 <br>
HTML로.
편집 할 수 있습니다 *.resx
a 텍스트 에디터 라인 브레이크를 추가합니다.
Visual Studio에서도 할 수 있습니다.
- 리소스 파일을 마우스 오른쪽 버튼으로 클릭하십시오
- 클릭하십시오
Open with ...
- 고르다
XML (Text) Editor with Encoding
- 딸깍 하는 소리
OK
- 딸깍 하는 소리
OK
인코딩 선택을 위해 다시 (자동 감지) - 텍스트의 이름 (키) 검색 (예 : "my_text")
- 내부의 텍스트를 편집하십시오
<value>
꼬리표. 라인 브레이크의 경우 밀어 넣습니다Enter
. 참고 : 라인 브레이크 후 선행 공간을 제거하십시오. 그렇지 않으면 그것들도 삽입됩니다.
Visual Studio 2017로 테스트.
예시:
<data name="MY_TEXT" xml:space="preserve">
<value>Line 1
Line 2
Line 3</value>
</data>