Identità dell'applicazione non imposta eccezione
-
26-09-2020 - |
Domanda
Ho appena convertito un progetto su VS2010 e ora iniziando a vedere le eccezioni nel mio software in IntelliTrace.
Una tale eccezione è "L'identità dell'applicazione non è impostata", ciò si verifica ogni volta che il mio software vede qualcosa come
string m_AppPath = Application.UserAppDataPath;
.
Questo non è un problema come AppDatapath ritorna correttamente, mi chiedo solo perché questo accade.
Il codice è nella funzione principale di Program.cs (se ciò fa differenza), una volta fuori dal file Program.cs e in MainWindow.cs il codice funziona.
Il mio problema principale è che configurando la registrazione prima dell'avvio dell'applicazione.Qualsiasi aiuto apprezzato come la ricerca del Web non aiuta davvero.
Paul
Soluzione
Se il problema si verifica nel debug è possibile prima controllare se il debugger è allegato prima di accedere a qualsiasi impostazione dell'applicazione:
If System.Diagnostics.Debugger.IsAttached then
Me.Text = "Debug Mode"
Else
Me.Text = "Version " & My.Application.Deployment.CurrentVersion.ToString
End If
. Altri suggerimenti
Ho trovato che questo problema esiste solo se hai unticino "solo il mio codice" in Opzioni di debug.
Se questa è un'applicazione ClickOnce Debugged, un'altra opzione è quella di controllare l'impostazione System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
.