App_GlobalResources.resx
ファイルにいくつかのテキストを保持しています。
テキストは複数行である必要があり、改行を含める必要があります。ただし、コンテンツを読むと、すべての改行がなくなります(\r\n
制御文字ではなく、CRLF 10 13
が出力されます)。
内容を読んだときに\r\n
(またはそれ以外の何か)をCRLFに再置換することでこれを回避できることを知っていますが、これらの明確にテキストをターゲットとするresxファイルが制御文字を無視する理由を疑問に思いました-そしてCRLFは一種の重要です-そして、これが自然に機能する設定や何かがあるかどうかを誰かが知っているなら。
VB.NET Express Editionを使用してこれをテストしました。
リソースエディター(リソースの名前と文字列コンテンツを指定できます)で、文字列コンテンツを Shift+Enter。
入力したいとしましょう
hello
world
「hello」と入力し、続けて Shift+Enter そして「世界」。
Resources.Resxファイル(xmlファイル)を見ると、xml:space="preserve"
属性を持つノードが作成されていることがわかります。
2番目のオプション
また、Resources.resxを手動で編集し、CDATAセクションの下にあるようにコンテンツを変更できます。
「example」という名前の文字列があると仮定します。 Resources.resxで検索し、単純な値を持たないようにCDATAセクションを含むようにコンテンツを変更します。
例えば.
<data name="example">
<![CDATA[
hello
world
1
2 3
4
]]> </data>
つかいます Shift+Enter 新しい行を挿入します。
実際にresxファイルにテキストを入力している場合は、次を使用します
Shift+Enter
他の回答で述べたように。
Resxにテキストを貼り付ける場合-Visual Studioは、テキストを既存と同じ形式(改行/複数行を含む)で貼り付けます。
(検索と置換を使用してresxファイルを見つけます。「検索結果」パネルからファイルをクリックすると、VSはresxファイルをXMLで開きます)
ここで、(値タグで)好きなようにテキストを追加でき、フォーマットは保持されます。
私の状況でうまくいったのは、次のような<br>
タグを使用することでした。
A text with a line break <br> and this goes in the second line.
詳細情報の投稿があります: resxリソースファイルに改行を入れる
RazorビューエンジンをASP.NET MVCで使用している場合は、次を使用する必要があります。
@Html.Raw(ResourceFile.ResourceString)
<br>
をHTMLとして出力するようにします。
_*.resx
_ファイルをテキストエディターで編集して、改行を追加することができます。
Visual Studio内でも実行できます。
Open with ...
_XML (Text) Editor with Encoding
を選択しますOK
をクリックしますOK
をもう一度クリックします<value>
_タグ内のテキストを編集します。改行の場合は、Enter
を押すだけです。注:改行の後に先行スペースを削除します。そうでなければ、それらも挿入されます。Visual Studio 2017でテスト済み。
例:
_ <data name="MY_TEXT" xml:space="preserve">
<value>Line 1
Line 2
Line 3</value>
</data>
_