Abfrage von My.Settings ergibt einen Fehler

  • VB.NET
  • .NET 5–6

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Humax.

    Abfrage von My.Settings ergibt einen Fehler

    Hallo, ich habe in den Projekteigenschaften unter Einstellungen (My.Settings) den Namen "PathBMPTools" eingetragen. Einen Wert habe ich nicht angegeben.

    Wenn ich abfrage ob der Wert nothing ist bekomme ich einen Fehler unter VS 2022.
    Was mache ich da falsch?

    VB.NET-Quellcode

    1. If Not My.Settings.PathBMPTools Is Nothing Then
    2. End If


    --EDIT-- Der Fehler kommt auch, wenn ich in den Projekteigenschaften einen Wert zugewiesen habe und wenn ich zur Laufzeit einen Wert zuweisen möchte?!
    Bilder
    • Unbenannt.png

      87,6 kB, 1.396×459, 59 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Humax“ ()

    @Humax Unter welchem Typ hast Du denn diese Property angelegt?
    Eine String-Abfrage geht dann so:

    VB.NET-Quellcode

    1. If Not String.IsNullOrEmpty(My.Settings.PathBMPTools) Then
    Das sieht allerdings nach was ganz anderem aus.
    Poste mal das bereinigte Projekt.
    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!
    Sicher, dass .NET 6 der richtige Projekttyp ist? Probier das Ganze mal in einem "alten" .NET-Framework (4.8)-Projekt.
    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.
    Ein .NET-Projekt bleibt ein .NET-Projekt. Du kannst nicht auf .NET-Framework wechseln. Du musst ein neues Projekt anlegen.
    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.
    und vielleicht mal den bereinigten Code posten.
    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!
    Ja, bitte. Dann ist das Problem sicher schnell identifizz.
    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.
    So. Hab jetzt nochmals ein neues Projekt gemacht mit VS 2022.
    Hier meine Schritte:

    Windows Forms App - Visual Basic ausgewählt.
    Net Framework 6.0 ausgewählt.

    "Pfad" als String in den Einstellungen angelegt
    Einen Button auf die Form
    Hier der Code im Button Klick Event

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. My.Settings.Pfad = "Test"
    4. End Sub
    5. End Class


    Also ganz simple, trotzdem der Fehler.


    --Edit--
    Das passiert auch mit Net 5.0. Andere Auswahl hab ich nicht. Hab zwar schon andere Frameworks installiert, aber die werden allesamt nicht zur Auswahl angezeigt.

    --Nochmal Edit--
    Ist wohl nicht nur bei mir...Link --- Lösung folgt anscheinend...
    Bilder
    • Unbenannt.png

      19,21 kB, 1.009×296, 44 mal angesehen
    • Unbenannt1.png

      8,17 kB, 1.147×202, 45 mal angesehen

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Humax“ ()

    Humax schrieb:

    Net Framework 6.0 ausgewählt.
    Gibt es nicht.
    Es gibt .NET Core, .NET-Framework (1.0-4.8), .NET 5-6

    Du musst eine andere Projektvorlage wählen.
    Bilder
    • Templates.png

      17,47 kB, 800×178, 48 mal angesehen
    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.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Dann folge ich den Angaben des Debuggers, der mir sagt, dass in meiner Projektname.dll.config ab Zeile#X murks drinsteht. Ok, schau ich mir an. Da steht aber nix von Settings, sondern was von <system.diagnostics>. Aber Moment, das stand ja schon in Post#1. Hm …
    Ok, kommentier ich diese Sektion aus und probiere es erneut. Und siehe da!

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
    3. My.Settings.Foo = "Bar"
    4. End Sub
    5. Private Sub Button2_Click(sender As Object, e As System.EventArgs) Handles Button2.Click
    6. Label1.Text = My.Settings.Foo
    7. End Sub
    8. End Class

    Bilder
    • UsableSettingsInDonNet.png

      1,21 kB, 250×200, 121 mal angesehen
    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.
    Das ist richtig, aber in dem von Dir verlinkten Feedback-Thread wurde am 3. Juni - also gestern - vermerkt, dass ein Fix bereit steht und demnächst veröffentlicht wird.
    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.