Visual Studio / Der Prozess kann nicht auf die Datei zugreifen..

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Visual Studio / Der Prozess kann nicht auf die Datei zugreifen..

    Hi!

    Hab folgendes Problem:

    Ich hab eine Await-Funktion die sich Daten aus dem Internet holt..wenn nun beim Zuweisen der Daten aus irgend welchen Gründen ein Fehler auftritt(also bei mir wohl wenn die abgerufenen Daten nicht nach JSON konvertiert werden können)..bekomm ich folgende Fehlermeldung:
    Spoiler anzeigen

    (Eine Ausnahme vom Typ "Newtonsoft.Json.JsonSerializationException" ist in mscorlib.dll aufgetreten, doch wurde diese im Benutzercode nicht verarbeitet.Zusätzliche Informationen: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.IList`1[Jojatekok.PoloniexAPI.MarketTools.MarketChartData]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.Path 'error', line 1, position 9.)


    ..auf jeden Fall muss ich danach Visual Studio neu starten weil er dann ausgibt:
    "Der Prozess kann nicht auf die Datei zugreifen da sie von einem anderen Prozess benutzt wird!"

    Also erst nach einem Neustart von VS kann ich des debuggen wieder verwenden!

    Hab schon probiert mit:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub New()
    2. MyBase.New()
    3. Try
    4. For Each _process As Process In Process.GetProcesses
    5. If _process.ProcessName = Process.GetCurrentProcess.ProcessName Then
    6. Application.Exit()
    7. End If
    8. Next
    9. InitializeComponent()
    10. Catch ex As Exception
    11. MessageBox.Show(ex.Message & " New")
    12. End Try
    13. End Sub 'New


    den Prozess abzufragen ob er vorhanden iss, greift aber nicht..
    ..wie kann ich das debuggen so beenden das im Hintergrund laufende Prozesse, Funktionen etc. mit beendet werden?
    Muss ich da richtig disposen?!?
    Versuch mal die Anwendung als Einzelinstanzanwendung zu ändern. :!:
    Leider, sehe ich nicht noch mehr Code.
    Deshalb kann ich nicht genau sagen, wie man das Problem am besten lösen kann.
    Aber vielleicht hilft auch ein „Variable.Close“ und „Variable.Dispose“.
    Visual Basic.NET 8o
    MS-SQL
    8o
    Try-Catch weg, denn: Fange nur Exceptions ab, die Du kennst und sinnvoll bearbeiten kannst.
    Ich frag mich gerade, was das mit dem sich-selbst-schließen und Einzelinstanz bringen soll.
    Auf welche Datei kann "der Prozess" (welcher eigentlich?) nicht zugreifen? Datendatei? EXE?
    Wird denn Deine App nach der Exception noch im TaskManager aufgelistet? Greift Dein Programm auf irgendwelche Dateien zu, auf die dann die 2. Instanz keinen Zugriff hat?
    Bringt es denn was, wenn Du die Ursache für die Exception vermeidest, will heißen: Kennst Du denn die genaue Ursache der o.g. Exception? Ist Dir klar, wo der Fehler liegt?

    btw: es gibt auch ein GetProcessesByName
    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.
    Hallo

    Das bringt zwar kurzfristig an dein Ziel, ist aber an der Ursachenforschung vorbei geschossen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hmm, naja, warum der Absturz passiert ist mir eig. klar..
    ..ich rufe Daten ab die einen Tages, Stunden oder Minutenintervall darstellen..d.H. bei einem Minutenintervall kommen viel mehr Daten an..damit kommt meine jetzige Programmierung noch nicht klar, muss dann halt den Zeitraum der Datenerfassung auf eine bestimmte kleinere Zeitspanne anpassen!

    Es ging mir jetzt aber darum das wenn der Fehler geschmissen wird das Debugging erst nachm Neustart von VS wieder funktioniert!