2012-04-26 14 views
19

Nie rozumiem jak napisać wiadomość w app.config, która składa się z dwóch lub więcej linii. Mój zwykły kod w pliku konfiguracyjnym jest:Jak dodać znak nowej linii w pliku app.config?

add key="msg_test" value="This is test message."  

i czytam ją cis kodu, takich jak:

ConfigurationSettings.AppSettings[msg_test]; 

I chcę napisać coś podobnego

add key="msg_test" 
    value="This is test message \n are you sure you want to continue?" 
+0

dlaczego czy to nie działa? co się dzieje i czego oczekujesz? masz na myśli, że wstawiasz '\ n' w łańcuchu wartości? – Default

+0

Próbowałem '" pierwsza linia "+ Environment.NewLine +" druga linia "'? – Reniuz

+4

@Reniuz: Nie można pisać kodu C# w pliku konfiguracyjnym. – Guffa

Odpowiedz

31

można po prostu użyć podziały wiersza wartości:

add key="msg_test" value="This is 
test message." 

Można również użyć XML zakodowanych znaków:

add key="msg_test" value="This is
test message." 

(. Ja testowałem obie, i pracują)

+1

Naprawdę nie myślałem, że byłoby tak proste jak 1 odpowiedź. Próbowałem używać kodowanych znaków XML, ale gdzieś znalazłem # 92 dla \ i # 110 dla n. A te nie działały. Dziękuję za odpowiedź :) – quitprog

+1

@parixit: Używając '# &92; # &110;' rzeczywiście dostaniesz '\ n' w ciągu znaków, ale to nie tworzy pojedynczego znaku kontrolnego, jak w ciągu literowym, to tylko dwa oddzielne znaki. – Guffa

+0

Dzięki @Guffa, twoje rozwiązanie użycia kodowania XML ( ) uratowało mnie .. !! – Ron

11

XML ewakuacyjnej dla nowej linii jest 
, więc powinno działać:

<add key="msg_test" 
value="This is test message &#xA; are you sure you want to continue?"> 
Powiązane problemy