2012-04-26 33 views
19

Tôi không nhận được như thế nào để viết một tin nhắn trong app.config bao gồm hai hoặc nhiều dòng. đang bình thường của tôi trong tập tin cấu hình là:Làm cách nào để thêm ký tự dòng mới trong app.config?

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

Và tôi đọc nó trong c mã sắc nét như:

ConfigurationSettings.AppSettings[msg_test]; 

Và tôi muốn viết một cái gì đó giống như

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

tại sao nó có hoạt động không? những gì happends và những gì bạn đang mong đợi? bạn có nghĩa là bạn đặt '\ n' vào chuỗi giá trị không? – Default

+0

đã thử '" dòng đầu tiên "+ Environment.NewLine +" dòng thứ hai "'? – Reniuz

+4

@Reniuz: Bạn không thể viết mã C# trong tệp cấu hình. – Guffa

Trả lời

31

Bạn chỉ có thể sử dụng ngắt dòng trong giá trị:

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

Bạn cũng có thể sử dụng XML mã hóa ký tự:

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

(. Tôi đã thử nghiệm cả hai, và họ làm việc)

+1

Tôi thực sự không nghĩ rằng nó sẽ là thẳng về phía trước như câu trả lời đầu tiên. Và tôi đã thử sử dụng các ký tự được mã hóa XML nhưng ở đâu đó tôi tìm thấy # 92 cho \ và # 110 cho n. Và chúng không hoạt động. Cảm ơn câu trả lời của bạn :) – quitprog

+1

@parixit: Sử dụng '# &92; # &110;' thực sự sẽ giúp bạn '\ n' trong chuỗi, nhưng điều đó không tạo ra một ký tự điều khiển đơn lẻ như trong chuỗi chữ, chỉ là hai các ký tự riêng biệt. – Guffa

+0

Cảm ơn @Guffa, giải pháp của bạn khi sử dụng mã hóa XML ( ) đã lưu tôi .. !! – Ron

11

XML thoát cho dòng mới là 
, do đó, công việc này sẽ hoạt động:

<add key="msg_test" 
value="This is test message &#xA; are you sure you want to continue?"> 
Các vấn đề liên quan