私のプログラムの2つのインスタンスで作業するときに設定ファイルを保存する際に問題が発生しています。2番目のインスタンスの設定ファイルを保存できません
Class MainWindow
Dim config As System.Configuration.Configuration
Public Sub New()
config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None)
End Sub
Protected Overrides Sub OnClosing(e As CancelEventArgs)
config.Save(ConfigurationSaveMode.Modified, True)
End Sub
End Class
最初のインスタンスは、決算上の設定を保存し、しかし、すぐに、私は2番目のインスタンスを閉じますしようとしていますとされ、config.Save:私はそのように見える単純な例のプロジェクトでこの問題を再現することができました(ConfigurationSaveMode.Modified、True)は、設定ファイルが別のプログラムによって変更されたというエラーを投げています。私は誰かがその問題を手伝ってくれることを願っています。前もって感謝します。
編集:MyBaseコール
EDIT2を削除するには忘れ:Chillzyの提案を試みたが、それは同様に失敗します。
Protected Overrides Sub OnClosing(e As CancelEventArgs)
Dim mdate As String = Date.Now.ToString("yyyyMMdd_HHmmss")
Dim mptpath As String = Path.GetDirectoryName(config.FilePath) & "\" & mdate
config.SaveAs(mdate, ConfigurationSaveMode.Full, True)
File.Delete(fpath)
File.Move(mptpath, fpath)
End Sub
なぜループ内で同じ関数を呼び出すのですか? config.Save(ConfigurationSaveMode.Modified、True) MyBase.OnClosing(e) –