2008-10-06 3 views
6

Nach dem MSDN wird im BaseDirectory eine AppDomain nach zu ladenden DLLs suchen, während ExecutablePath den Pfad zur ursprünglichen ausführbaren Datei (einschließlich Dateiname) angibt. Ich weiß, dass einer den Dateinamen hat und der andere nicht. Ich weiß, dass ich, wenn ich eine neue AppDomain erstelle, einen anderen Pfad angeben kann. Aber wenn ich den Dateinamen aus ExecutablePath entferne und davon ausginge, dass ich nur eine AppDomain verwende, was ist der Unterschied zwischen diesen beiden Pfaden? Werden sie immer gleich sein (vorausgesetzt, es wird nur eine AppDomain vorausgesetzt)? Gibt es einen Fall, in dem sie anders wären?Was ist der Unterschied zwischen AppDomain.CurrentDomain.BaseDirectory und Application.ExecutablePath in der Praxis?

Antwort

2

Denken Sie an etwas wie ASP.NET, wo Ihr Code in einem anderen Prozess gehostet wird. Das BaseDirectory wird dort sein, wo Ihr Code lebt, aber der ExecutablePath ist wahrscheinlich eine DLL in system32.