2016-07-05 11 views
0

Start Wenn in der ApplicationEvents.vb Klasse ich diesen einfachen Code schreiben:Difference eine VB.Net Anwendung von F5 oder durch die .exe

Private Sub MyApplication_Startup (ByVal ......... Griffe.) Me.Startup MessageBox.Show (My.Settings.xxx)

Wenn ich die Anwendung von "F5" -Taste betreibe ich die REAL zuletzt gespeicherte Wert des xxx erhalten (nach Belieben geändert).

Wenn ich die Anwendung direkt durch einen Klick auf der EXE-Datei ausführen ... ich erhalte den STANDARD Wert von xxx (dh der Wert im Projekt/Eigenschaften/Einstellungen eingestellt ist).

Warum ???

+1

Einstellungen werden in einem Verzeichnisnamen, deren Namen gespeichert ist ein Hash der Eigenschaften Ihrer exe-Datei. Wie sein Name, Version, das Verzeichnis, in dem es gespeichert ist. Der Name ist nicht der gleiche, wenn Sie F5 verwenden. Machen Sie dasselbe mit "Projekte"> "Eigenschaften"> "Debuggen"> scrollen Sie nach unten und deaktivieren Sie "Visual Studio-Hosting-Prozess aktivieren". Bedenken Sie natürlich, dass dies auch geschieht, wenn Sie Ihre App auf dem Computer des Benutzers bereitstellen. –

Antwort

2

Da beim Debuggen es werden die Einstellungen für die yourApp.vshost.exe Anwendung laden (den laufenden Prozess), während, wenn Sie Ihre Anwendung ausführen es werden die Einstellungen für yourApp.exe

vshost ist die Visual Studio-Hosting-Prozess laden .

  1. Rechtsklick auf Ihr Projekt im Mappen-Explorer und klicken Properties: Es kann (wenn Sie möchten), indem Sie folgende Schritte deaktiviert werden.
  2. Wechseln Sie zur Registerkarte Debug.
  3. Deaktivieren Sie das Kontrollkästchen Enable the Visual Studio hosting process.

Sie können mehr über vshost hier lesen: https://msdn.microsoft.com/en-us/library/ms242202.aspx

+0

Soooo einfach! Ty Kumpel! :) – ezio

+0

@ezio: Kein Problem. Wenn dies Ihre Frage beantwortet, markieren Sie bitte meinen Post als akzeptierte Antwort, indem Sie das Häkchen auf der linken Seite drücken. –

Verwandte Themen