none
Errore assurdo GetInvalidPathChars - System.InvalidCastException RRS feed

  • Domanda

  • Ciao,
    eseguendo questo codice ricevo questo errore sul comando

    Dim dir = "C:\Pippo\conversations\conversation\"
    Dim CheckDir As Char = System.IO.Path.GetInvalidPathChars(dir)
    Dim data() As Byte = File.ReadAllBytes("C:\Ferie\2020_0908_155849_185.jpg")
    File.WriteAllBytes(dir & "2020_0908_155849_185A.jpg", data)
    
    System.InvalidCastException
      HResult=0x80004002
      Messaggio=Cast non valido dalla stringa "C:\Pippo\conversations\conversat" al tipo 'Integer'.
      Origine=Microsoft.VisualBasic
      Analisi dello stack:
       in Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
       in ProvaPath.Form1.Button1_Click(Object sender, EventArgs e) in C:\Progetti\ProvaPath\ProvaPath\Form1.vb: riga 9
       in System.Windows.Forms.Control.OnClick(EventArgs e)
       in System.Windows.Forms.Button.OnClick(EventArgs e)
       in System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       in System.Windows.Forms.Control.WndProc(Message& m)
       in System.Windows.Forms.ButtonBase.WndProc(Message& m)
       in System.Windows.Forms.Button.WndProc(Message& m)
       in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       in System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       in System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       in System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       in System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       in System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       in ProvaPath.My.MyApplication.Main(String[] Args) in : riga 83

      Questa eccezione è stata generata in origine nello stack di chiamate seguente:
        Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(string, System.Globalization.NumberFormatInfo)
        Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(string)

    Eccezione interna 1:
    FormatException: Formato della stringa di input non corretto.


    Come è possibile?

    Grazie.

    venerdì 23 dicembre 2022 17:31

Risposte

  • Buongiorno, Genko,

    Questo problema può verificarsi a causa della versione precedente di Service Fabric SDK. Prova ad aggiornare l'SDK dell'infrastruttura del servizio locale e riprova.
    Puoi trovare il link per il download qui: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started#install-the-sdk-and-tools

    Fammi sapere se riscontri ancora problemi e posso effettuare ulteriori accertamenti.

    Grazie.


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    sabato 24 dicembre 2022 10:23
    Moderatore
  • Buongiorno e Buon Natale, Genko. 

    scusa la risposta ritardata. 
    Dopo un po di ricerca, mi e venuto in mente il fatto che l'errore indica che la stringa da cui stai tentando di analizzare un numero intero non contiene effettivamente un numero intero valido.

    È estremamente improbabile che le caselle di testo contengano un numero intero valido immediatamente quando viene creato il modulo, che è dove ottieni i valori interi. Avrebbe molto più senso aggiornare a e b negli eventi di clic del pulsante (nello stesso modo in cui ci si trova nel costruttore). Inoltre, controlla il Int.TryParse metodo - è molto più facile da usare se la stringa potrebbe non contenere effettivamente un numero intero - non genera un'eccezione quindi è più facile da recuperare.

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    venerdì 30 dicembre 2022 09:54
    Moderatore

Tutte le risposte

  • Buongiorno, Genko,

    Questo problema può verificarsi a causa della versione precedente di Service Fabric SDK. Prova ad aggiornare l'SDK dell'infrastruttura del servizio locale e riprova.
    Puoi trovare il link per il download qui: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started#install-the-sdk-and-tools

    Fammi sapere se riscontri ancora problemi e posso effettuare ulteriori accertamenti.

    Grazie.


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    sabato 24 dicembre 2022 10:23
    Moderatore
  • Ciao,
    ho installato MicrosoftServiceFabric.9.1.1436.9590 e MicrosoftServiceFabricSDK.6.1.1436, ma come vedi il risultato non è cambiato....

    sabato 24 dicembre 2022 16:35
  • Buongiorno e Buon Natale, Genko. 

    scusa la risposta ritardata. 
    Dopo un po di ricerca, mi e venuto in mente il fatto che l'errore indica che la stringa da cui stai tentando di analizzare un numero intero non contiene effettivamente un numero intero valido.

    È estremamente improbabile che le caselle di testo contengano un numero intero valido immediatamente quando viene creato il modulo, che è dove ottieni i valori interi. Avrebbe molto più senso aggiornare a e b negli eventi di clic del pulsante (nello stesso modo in cui ci si trova nel costruttore). Inoltre, controlla il Int.TryParse metodo - è molto più facile da usare se la stringa potrebbe non contenere effettivamente un numero intero - non genera un'eccezione quindi è più facile da recuperare.

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    venerdì 30 dicembre 2022 09:54
    Moderatore