Domanda

Di recente ho aggiunto un progetto di installazione alla mia applicazione. Nel progetto di installazione, ho aggiunto un valore di registro che avrebbe avviato la mia applicazione all'avvio di Windows alla chiave HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run. Quando l'applicazione viene eseguita da questa posizione, si arresta in modo anomalo con un'eccezione System.NullReference (non riesce a trovare il mio file app.config, che viene letto in un metodo quando l'app viene caricata). Posso eseguire l'applicazione perfettamente bene dal menu Start o dalla cartella installata. Come posso eseguire la mia applicazione all'avvio?

È stato utile?

Soluzione

Credo che funzionerà con la cartella di sistema come cartella di lavoro. Mettere il file di configurazione nella cartella di sistema o assicurarsi che sia impostata la cartella di lavoro dovrebbe risolvere il problema.

Altri suggerimenti

Ok. So che questa è una vecchia domanda, ma a mio avviso la soluzione è un po 'carente. Ho avuto lo stesso problema e non è necessario inserire app.config (your.exe.config) nella cartella di sistema. Se vuoi mantenere il tuo programma portatile e senza un MSI puoi semplicemente inserire alcune righe nel modulo.

APP_PATH = Application.ExecutablePath.ToString();
Environment.CurrentDirectory = Path.GetDirectoryName(APP_PATH);

Fallo all'inizio della lezione del modulo e funzionerà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top