C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

vb.net バージョンアップで前設定を更新したい

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■102575 / inTopicNo.1)  vb.net バージョンアップで前設定を更新したい
  
□投稿者/ エイコウ (1回)-(2023/11/19(Sun) 11:08:45)

分類:[.NET 全般] 

2023/11/19(Sun) 11:09:57 編集(投稿者)
2023/11/19(Sun) 11:09:51 編集(投稿者)

お世話になります

VB.NET VS2017 でデスクトップアプリを作っています

マイナーバージョンアップで上書きインストールしたときに
ユーザースコープの設定が初期化されてしまいます
なので前バージョンの設定を引き継ぎたいと考えています

古いバージョンのユーザースコープを読む方法を教えてください


設定を読み込みたいのは
下記HPの『スコープと保存場所』に記載されているものと考えています

Visual Studioでアプリケーションの設定を保存する
https://dobon.net/vb/dotnet/programing/mysettings.html#scope



引用返信 編集キー/
■102576 / inTopicNo.2)  Re[1]: vb.net バージョンアップで前設定を更新したい
□投稿者/ 魔界の仮面弁士 (3715回)-(2023/11/19(Sun) 11:41:57)
No102575 (エイコウ さん) に返信
> マイナーバージョンアップで上書きインストールしたときに
> ユーザースコープの設定が初期化されてしまいます
> なので前バージョンの設定を引き継ぎたいと考えています

ClickOnceアプリですね。

既にご自身でお読みになっているサイトの「前バージョンの設定を取得する」の項に記載されていますように、
My.Settings.Upgrade() を呼び出すと、直前のバージョンの設定を引き継ぐことができます。
既に設定済みで呼び出すと上書きされてしまうので、バージョンアップ直後に一回だけ呼び出すようにしましょう。


よくある常套手段として…ユーザースコープに Boolean 型の項目、
たとえば「IsUpgraded」といったメンバーを用意しておき、
その初期値を False にしておきます。そのうえで
 If Not My.Settings.IsUpgraded Then
  My.Settings.Upgrade()
  My.Settings.IsUpgraded = True
  My.Settings.Save()
 End If
のようにするという方法が知られています。

ちなみに C# の場合もほぼ同様です。
https://qiita.com/minoru-nagasawa/items/946831c9c0c3513dae12
引用返信 編集キー/
■102577 / inTopicNo.3)  Re[2]: vb.net バージョンアップで前設定を更新したい
□投稿者/ エイコウ (2回)-(2023/11/19(Sun) 15:37:41)
No102576 (魔界の仮面弁士 さん) に返信


 My.Settings.Upgrade()

を一度試してうまくいかなかったので、根本的に違うのかと思いましたが
不具合の原因がわかり無事に更新できました

ありがとうございました



解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ