2016-08-23 10 views
0

オンラインソリューションを試してみて、 Settings.settingsは、私は私のプログラムで構成された安全な設定はありません:それはプログラムの秒バージョンですので、私は(2.0.0.0を1.0.0.0からAssemblyInfo.csAssemblyVersionAssemblyFileVersionを変更した場合アセンブリ(ファイル)バージョンを1.0.0.0から2.0.0.0に変更した後、設定は新しいフォルダに保存されますが、古いものからロードされます

- 私はMVVMでそれを書き直し数年前の古いバージョンから)、新しいフォルダを作成して、... \ AppData \ local \ MyProgram \ MyProgram- {UID} \ 2.0.0.0に設定を保存しました。

問題は、それでも\ 1.0.0.0フォルダから設定を読み込みます。

2.0.0.0に完全にコミットするにはどうすればよいですか?これは私のプログラムとの長い心理学セッションを取るか、何とかまっすぐ進むことができますか?私のプログラムは最終的に2.0.0.0に成長することが本当に好きです。

編集:詳細情報

AssemblyInfo.cs今、最後の行:

[assembly: AssemblyVersion("2.0.0.0")] 
[assembly: AssemblyFileVersion("2.0.0.0")] 

アップグレードした後、2番目のフォルダが作成されると、設定はそのuser.settingsに保存されますが、それでもらは(ロードSettings.Upgrade())を1.0.0.0/user.settingsから削除します。

Folders after AssemblyVersion upgrade

+0

問題を再現できません。 VS2015 - >新規プロジェクト - >設定を保存してリロードしています。 AssemblyVersionとAssemblyFileVersionを変更すると、設定はデフォルト値に戻ります。それは期待どおりに動作します。 – Fruchtzwerg

+0

私のバージョンは次のとおりです:VS2015 - >設定を保存 - >読み込み作業;カスタム設定を保存します。 - > 2.0.0.0へのアジャストバージョンのアップグレード - >起動 - >保存された設定の読み込み - >設定の変更 - >保存+保存 - >再設定 - > 1.0.0.0から設定を再度読み込みます。 – Squirrelkiller

+0

また、「Fruchtzwerg」は自分のプログラムが成長するのに最適でなければなりません! :D – Squirrelkiller

答えて

1

あなたがそうでなければ、継続的に古いバージョンからの設定を上書きしている新しいバージョンのアプリケーションを起動したときに一度だけSettings.Upgrade()を呼び出す必要があります。

Upgrade()に電話をかけたときに設定したuser.configにフラグを追加する必要があります。

+0

私はこの権利を理解していますか?Upgrade()は設定を実際にロードせず、古いバージョン(1.0.0.0など)から設定を取得し、新しいバージョン(2.0.0.0など)にインポートしますか? アプリケーションの開始時にロードする設定については何もする必要がありますか? – Squirrelkiller

+0

はい、Upgrade()は古い設定と読み込みを読み込みます。 いいえ、自動的に読み込まれます。ただし、新しいuser.configファイルがディスク上で更新されるように、Settings.Save()を呼び出す必要があります。 – toadflakz

+0

ありがとう!私はちょうどいくつかを学んだ:D – Squirrelkiller

関連する問題