Per ottenere il percorso del file eseguibile da cui è partita l'applicazione, il namespace System.Windows.Forms ci mette a disposizione il metodo staticoApplication.StartupPath. Tuttavia se non vogliamo o non possiamo referenziare System.Windows.Forms ad esempio se vogliamo ottenere il percorso in funzione di una dll referenziata nel progetto allora possiamo usare il seguete metodo:AppDomain.CurrentDomain.SetupInformation.ApplicationBase;Prestate molta attenzione che se volete aprire un file che si trova nella stessa cartella dell'eseguibile è buona norma che passiate al metodo il percorso e il nome del file Es.: File.Open(@"C:\Progetti\MiaApplicazione\test.txt"). Se usate solamente il nome file Es.: File.Open(@"test.txt") e per caso in precedenza avete usato una OpenFileDialog o SaveFileDialog per aprire o salvare un file il percorso in cui verrà cercato il vostro file text.txt sarà equivalente al ultimo selezionato da questi controlli. P.S: anche System.Environment.CurrentDirectory soffre dello stesso problema.
Percorso del file eseguibile
Per ottenere il percorso del file eseguibile da cui è partita l'applicazione, il namespace System.Windows.Forms ci mette a disposizione il metodo staticoApplication.StartupPath. Tuttavia se non vogliamo o non possiamo referenziare System.Windows.Forms ad esempio se vogliamo ottenere il percorso in funzione di una dll referenziata nel progetto allora possiamo usare il seguete metodo:AppDomain.CurrentDomain.SetupInformation.ApplicationBase;Prestate molta attenzione che se volete aprire un file che si trova nella stessa cartella dell'eseguibile è buona norma che passiate al metodo il percorso e il nome del file Es.: File.Open(@"C:\Progetti\MiaApplicazione\test.txt"). Se usate solamente il nome file Es.: File.Open(@"test.txt") e per caso in precedenza avete usato una OpenFileDialog o SaveFileDialog per aprire o salvare un file il percorso in cui verrà cercato il vostro file text.txt sarà equivalente al ultimo selezionato da questi controlli. P.S: anche System.Environment.CurrentDirectory soffre dello stesso problema.