C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
vb.net バージョンアップで前設定を更新したい
掲示板トップ
C# と 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
>>
このトピックに書きこむ
入力内容にタグは利用できません。
他人を中傷する記事は管理者の判断で予告無く削除されます。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
URL は自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
名前
(*必須)
E-Mail (任意)
Web サイト (任意)
投稿モード
通常モード
図表モード (ソースコードを貼る場合はこちらを使用)
本文
(質問の場合は、開発環境・使用言語のバージョンなどを最初に書いてください)
■No102576 (魔界の仮面弁士 さん) に返信 > ■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
編集キー
自分の投稿を編集する時に必要です
(半角8文字以内)
解決済み
/
解決したらチェックしておきましょう。
プレビュー/
管理者用
-
Child Tree
-