2009-03-07 20 views
9

Mỗi khi một bản cập nhật mới được phát hành cho một ứng dụng với nhấp chuột một lần, các biến trong file app.config bị phá hủykiên trì app.config biến trong bản cập nhật qua Bấm một lần triển khai

<userSettings> 
    <app.My.MySettings> 
     <setting name="Email" serializeAs="String"> 
     <value /> 
     </setting> 
     <setting name="UserName" serializeAs="String"> 
     <value /> 
     </setting> 
    </app.My.MySettings> 
    </userSettings> 

Làm thế nào tôi có thể ngăn chặn điều đó ?

Có cách nào để feching các biến từ phiên bản ứng dụng trước không?

Trả lời

14

Bạn có chọn tùy chọn "Ứng dụng nên kiểm tra cập nhật" không?

Có một cái nhìn tại Exploring Secrets of Persistent Application Settings (phần có tiêu đề "Duy trì Cài đặt giữa các phiên bản Chương trình"):

Đối với bất kỳ thiết lập từ phiên bản hiện tại khớp với cài đặt trong phiên bản trước , thói quen này sẽ nhập khẩu chúng vào tệp tin user.config hiện tại của phiên bản:

Tại điểm vào chương trình của bạn, hãy đặt mã sau đây.

if (Properties.Settings.Default.UpgradeSettings) 
{ 
    Properties.Settings.Default.Upgrade(); 
    Properties.Settings.Default.UpgradeSettings = false; 
} 

Lưu ý rằng UpgradeSettings là một boolean dùng cài đặt (không áp dụng) mà bạn cần phải thêm bản thân, và bạn muốn giá trị mặc định là True.

+2

Lưu ý rằng UpgradeSettings là một khung cảnh boolean mà bạn cần phải thêm bản thân, và bạn muốn giá trị mặc định là True. (Điều này được giải thích trong bài viết.) – Pat

+0

Kỳ lạ nếu câu lệnh if của tôi luôn đọc Properties.Settings.Default.UpgradeSettings là false ngay cả khi giá trị mặc định là True. Tôi đã phải thay đổi thiết lập để được đặt tên là "upgrade_settings" cho nó được đọc là True, –

Các vấn đề liên quan