クリック1回展開によるapp.config変数の更新の永続化
-
05-07-2019 - |
質問
1回クリックするだけでアプリケーションの新しい更新がリリースされるたびに、app.configファイルの変数が破棄されます
<userSettings>
<app.My.MySettings>
<setting name="Email" serializeAs="String">
<value />
</setting>
<setting name="UserName" serializeAs="String">
<value />
</setting>
</app.My.MySettings>
</userSettings>
どうすればそれを防ぐことができますか?
以前のアプリケーションバージョンから変数を取得する方法はありますか?
解決
「アプリケーションは更新を確認する必要があります」をお持ちですか?オプションがチェックされていますか
永続的なアプリケーション設定の秘密を探る(セクション&quot;プログラムバージョン間の設定の維持&quot;):
現在の設定から の設定に一致するバージョン 以前のバージョンでは、このルーチンは それらを現在のバージョンにインポートします user.configファイル:
プログラムへのエントリポイントで、次のコードを配置します。
if (Properties.Settings.Default.UpgradeSettings)
{
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.UpgradeSettings = false;
}
UpgradeSettingsはブール値の user 設定(アプリケーションではない)であり、自分で追加する必要があり、デフォルト値は True
にする必要があることに注意してください。
他のヒント
アプリケーションレベルの設定の代わりにユーザーレベルの設定を使用する場合、新しいバージョンが取得されると、それらが前方にコピーされます。 ただし、最も安全な方法は、このデータをClickOnce更新から分離することです(「エクスペリエンス」)。これが役立つかどうかを確認します。
所属していません StackOverflow