- PR -

アセンブリバージョンを変更した際にMy.Settingの情報を初期化したくない

1
投稿者投稿内容
ジン
常連さん
会議室デビュー日: 2008/07/22
投稿数: 33
投稿日時: 2009-01-23 20:00
VB2005で開発しています。

プログラムのバージョンアップをした際に、
アセンブリバージョンを変更しました。
するとMy.Settingの情報(スコープはユーザーのもの)が
初期化されてしまいました。

これはどうにかして解決できないものでしょうか?
もしご存じでしたら、ご教示ください。

よろしくお願いいたします。
テッテ
ベテラン
会議室デビュー日: 2008/03/16
投稿数: 91
投稿日時: 2009-01-24 15:38
設定ファイルはバージョンごとに作成されます。ですから初期化されるわけではなく、前バージョンの設定ファイルを読み込まずに新しいバージョンのファイルを探して読み込もうとしているだけです。

新バージョンと旧バージョンで設定ファイルの仕様が同じとは限らないので、勝手に読み込まないようになっているのだと思います。

Upgrade メソッドを使用することで引き継がせることができますので、これを新バージョンの初回起動時にのみ実行するようにすればよいでしょう。

やり方はいろいろあるでしょうが、私は設定情報にアップグレードされたかどうかを表すフラグを持たせて、それを使用するようにしています。

コード:
If Not My.Setting.IsUpgraded Then
    My.Setting.Upgrade()
End If



以下のページも参考になると思います。

Visual Studioでアプリケーションの設定を保存する
ジン
常連さん
会議室デビュー日: 2008/07/22
投稿数: 33
投稿日時: 2009-02-02 14:33
ご回答ありがとうございました。
返信が遅くなってしまい、申し訳ございません。
とても参考になりました。
1

スキルアップ/キャリアアップ(JOB@IT)