2008-11-12 11 views
44

Wenn ich eine Anwendung mit VS2008 kompilieren ich manchmal mit 2 identischen Konfigurationsdateien am Ende:Was ist die Datei * .vshost.exe.config?

  • * .exe.config
  • * .vshost.exe.config

Was ist der letztere eins für?

+0

Danke für die Frage, um die Diskussion zu regen. –

Antwort

25

Hier ist ein Blog-Beitrag, der über den vshost-Prozess und seinen Zweck spricht.

http://blogs.msdn.com/dtemp/archive/2004/08/17/215764.aspx

+27

Abgesehen von dem externen Link sollten Sie zumindest eine kleine Erklärung hinzufügen, so dass die Antwort in SO enthalten ist und nicht vollständig von einer externen Ressource abhängt, die verschwinden könnte. – JotaBe

14

Wenn innerhalb VS Anwendung Debuggen wird [appname] .vshost.exe und Laufzeit für das Programm der Config aussehen wird, so dass die .vshost.exe.config Datei ist, wo die .net aufgerufen werden.

+0

Was passiert, wenn es auf dem Server veröffentlicht wird? Gibt es ein Problem? – batmaci

2

bemerkte ich, etwas anderes zu diesem Verhalten.

Während VS WILL eine Config erstellen namens [appname] .vshost.exe.config, den API-Aufruf:

var s = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

hat diesen Namen nicht zurück, sondern es gibt: [appname] .config

Dies war mit VS2010. Nicht eingecheckt VS2008

+0

Ich denke es ist, weil, wenn Sie VS-Hosting aktiviert in der Projekteigenschaften Debug-Registerkarte wird es nach [appname] .vshost.exe.config suchen. Aber wenn Sie es deaktiviert haben, wird es nach [appname] .config suchen. Ich migrierte ein Projekt von VS2008 -> VS2013 und es würde die Konfigurationsdatei nicht lesen, egal was es null zurückgeben würde. & Die vshost.exe.config würde niemals generiert werden. Also musste ich das oben beschriebene VS-Hosting abschalten, dann app.config in [appname] .config umbenennen und es in den bin-Ordner legen. Jetzt funktioniert es. – drzounds