Sul mio computer di sviluppo tutto funzionava bene e dandy ma quando ho testato il programma su un altro computer Windows7 ricevevo un System.UriFormatException
: URI non valido: C'è una sequenza non valida nella stringa. Sul seguente codice: Uri.UnescapeDataString(section);
Uri.UnescapeDataString non riesce su computer diverso
In un primo momento ho pensato che il secondo computer stava ricevendo dati diversi dal pc dev, quindi ho copiato la stringa HTML che stava venendo a mancare in un file e ridotto il mio codice a questo:
static void Err(string s){/*Picked up by external logging*/}
private static void GetValue()
{
try
{
var html = File.ReadAllText("ld.txt");
//Retrieve section we want
var section = Regex.Match(
html,
"etc_etc(.*): ",
RegexOptions.Singleline)
.Groups[1].ToString();
Uri.UnescapeDataString(section);
}
catch (Exception ex)
{
Err(ex.ToString());
}
}
Funziona bene sul pc di sviluppo, ma il secondo computer riceve nuovamente l'eccezione. Stanno entrambi caricando lo stesso codice html dallo stesso identico file ld.txt
e poi facendo esattamente la stessa cosa con esso .. e entrambi i PC sono x64 Win7. Cosa dà?
versione di .NET e le patch? È possibile che uno sia corretto e l'altro no ... E qual è la riga nel file ld.txt che produce l'errore? – nhahtdh
Non verificato, ma l'applicazione è costruita con 4.0. Vedrò se l'aggiornamento aiuta (se ce ne sono.) – natli
Potrebbe essere un problema di codifica del testo? Un computer ha una codifica di testo predefinita diversa dall'altra? Hai verificato che la 'sezione' di stringa sul computer 1 è esattamente la stessa di' section' sul computer 2? Entrambi eseguono la stessa versione di .NET? –