3

最初は、appSettingsの下のapp.configファイルにいくつかのユーザー定義設定を保存していました。これらは、ユーザーが実行時に変更できるプロパティです。私が抱えている最初の問題は、ClickOnceを使用してアプリケーションをデプロイすると、app.configファイルが上書きされ、ユーザーが個人設定を失ってしまうことです。

次に、インターネット上でClickOnceを使用して展開したときにこのセクションが上書きされないことがわかったので、プロパティをsettings.settingsファイル(= app.configのusersettingsセクション)に移動しました。いや、そうです。Settings.Settingsプロパティは次のとおりです。

  • ビルドアクション=コンテンツ
  • コピー先=コピーしない

では、app.configファイルまたはsettings.settingsファイルのいずれかで、ユーザーの個人設定が上書きされないようにするにはどうすればよいですか。または別の方法があり、私はそれを間違っていますか?

どうも!

4

1 に答える 1

6

このメソッドは、ClickOnceを使用してアプリケーションの新しいバージョンを展開するときに、以前のインストールから設定をコピーします。したがって、ユーザーが行ったユーザー定義の設定はすべてコピーされ、更新後に使用できるようになります。私はこれをテストしました、そしてそれは私のために働きます。

public static void UpgradeUserSettings()
{
  if (Settings.Default.upgradeRequired)
  {
    Settings.Default.Upgrade();
    Settings.Default.upgradeRequired = false;
    Settings.Default.Save();
  }
} 

ApplicationSettingsBase.UpgradeメソッドMSDN

StackOverflowに関する他の質問

于 2013-01-21T10:59:10.777 に答える