System.Configuration.ConfigurationErrorsException: "Die Konfigurationsdatei wurde bereits von einem anderen Programm geändert."

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von r0tzi.

    ich habe dir das ganze project gepackt.

    also öffnen, dann auf Menü "Ordner Verknüpfungen bearbeiten" -> dann in der neuen Form 1 verknüpfung anklicken und löschen -> auf Ok und programm neu starten (neustart ausgeschalten) Dann klick auf das + und probiere eine Verknüpfung einzufügen -> dann knallts.
    Dateien
    • Cleansy2.rar

      (3,23 MB, 90 mal heruntergeladen, zuletzt: )
    @r0tzi

    RodFromGermany schrieb:

    Projektmappe bereinigen, zippen,
    und dann ist Dein Anhang über 3 MB groß? X(
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Tja, sind eben doch noch bin- und obj-Ordner drin ...
    @r0tzi: nachdem ich mal kiloweise Code-Duplikationen gelöscht hab, um dem Problem näher zu kommen, bin ich auf folgendes gestoßen: Die Fehler treten wohl deswegen auf, weil Du in Deiner Form6 in den VerknüfpungLöschen-Buttons erneut config definierst, anstatt das globale, bereits von Dir definierte config-Objekt zu nutzen:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
    3. Dim strVerkLöschen As String
    4. Dim strLinkLöschen As String
    5. If ListView1.SelectedItems.Count - 1 Then Exit Sub
    6. strVerkLöschen = Me.ListView1.SelectedItems(0).Text
    7. 'Form1.ComboBox1.Items.Remove(strVerkLöschen)
    8. strVerkLöschen = "combo" + strVerkLöschen
    9. strLinkLöschen = ListView1.SelectedItems(0).SubItems.Item(1).Text
    10. strLinkLöschen = "Link" + strLinkLöschen
    11. config.AppSettings.Settings.Remove(strVerkLöschen)
    12. config.AppSettings.Settings.Remove(strLinkLöschen)
    13. config.Save(ConfigurationSaveMode.Modified)
    14. Me.ListView1.FocusedItem.Remove()
    15. ConfigurationManager.RefreshSection("appSettings")
    16. End Sub

    Sobald ich die 2. Zeile auskommentiere, hat die Sub wieder in den folgenden Zeilen Zugriff auf das globale config-Objekt und wirft keine Exception mehr. Lässt man die 2. Zeile hingegen aktiv, wird ein lokales config-Objekt erzeugt, was sich dann mit dem globalen anscheinend nicht verträgt. Das globale wird anscheinend sauer, wenn ein anderes Objekt auf seine Daten zugreift.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.