質問

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更新から分離することです(「エクスペリエンス」)。これが役立つかどうかを確認します。

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top