Ho un'applicazione che è localizzata per l'uso in tutta Europa.StreamReader si lamenta che il file non esiste, ma lo fa
Ho un'opzione di menu che carica un file dal disco.
Questa operazione funziona bene sulla mia macchina dev ma non funziona nella macchina virtuale che uso per testare altri sistemi operativi _ ad esempio francese, spagnolo ecc
Un FileNotFoundException viene generato quando lo StreamReader tenta di aprire il file .
Si dice " 'Impossibile trovare il file C: \ Program Files \ MyCompany \ MyTool \ bin \ Files \ debug.txt'"
La cosa è, il file non esiste, nella posizione corretta e con il nome file corretto.
I nomi di directory sul sistema operativo di destinazione (francese) sono gli stessi della macchina di sviluppo.
Qualche idea?
string ourPath = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
try
{
System.IO.StreamReader sr = System.IO.File.OpenText(ourPath + @"\bin\Files\debug.txt");
string input = null;
while ((input = sr.ReadLine()) != null)
{
m_text.Append(input);
}
sr.Close();
}
catch (System.IO.FileNotFoundException)
{
MessageBox.Show("LoadDebugOptions: File Not Found: " + ex.Message);
}
Provare a utilizzare il metodo File.Exists per verificare se il file esiste. – Faisal