Cập nhật: Không chắc chắn nếu những điều sau đây áp dụng cho các ứng dụng WP7 - Tôi sẽ để nó ở đây chỉ trong trường hợp. Tôi đã chỉ thử điều này cho các ứng dụng bình thường.
Bạn sẽ cần phải "nâng cấp" tệp cài đặt cũ.
Bạn cũng cần phải biết khi nào bạn cần thực hiện việc này (tức là chỉ khi cài đặt phiên bản mới).
Để biết khi nào bạn cần nâng cấp cài đặt, hãy thêm boolean gọi (say) NeedSettingsNâng cấp vào cài đặt của bạn và đặt mặc định thành true.
Sau đó gọi hàm sau nơi nào đó gần đầu Main():
/// <summary>Upgrades the application settings, if required.</summary>
private static void upgradeApplicationSettingsIfNecessary()
{
// Application settings are stored in a subfolder named after the full #.#.#.# version number of the program. This means that when a new version of the program is installed, the old settings will not be available.
// Fortunately, there's a method called Upgrade() that you can call to upgrade the settings from the old to the new folder.
// We control when to do this by having a boolean setting called 'NeedSettingsUpgrade' which is defaulted to true. Therefore, the first time a new version of this program is run, it will have its default value of true.
// This will cause the code below to call "Upgrade()" which copies the old settings to the new.
// It then sets "NeedSettingsUpgrade" to false so the upgrade won't be done the next time.
if (Settings.Default.NeedSettingsUpgrade)
{
Settings.Default.Upgrade();
Settings.Default.NeedSettingsUpgrade = false;
}
}
Lưu ý: Bạn sẽ tất nhiên cần phải gọi Settings.Default.Save()
trước khi thoát khỏi chương trình của bạn, nếu các thiết lập thay đổi sẽ không được tiếp tục tồn.
Nguồn
2012-04-12 10:07:51
Tôi cũng quan tâm đến vấn đề của bạn. Tôi nhận thấy điều gì đó tương tự khi thử nghiệm ứng dụng của mình. Khi chạy nó từ Visual Studio và nhắm vào điện thoại (không phải trình giả lập), đôi khi nó sẽ xóa sạch cơ sở dữ liệu và tạo lại nó, lần khác nó sẽ cập nhật mã mà không xóa cơ sở dữ liệu. – Dante