7 Stimmen

Was ist der Unterschied zwischen AppDomain.CurrentDomain.BaseDirectory und Application.ExecutablePath in der Praxis?

Laut MSDN ist das BaseDirectory der Ort, an dem eine AppDomain nach zu ladenden DLLs sucht, während ExecutablePath den Pfad zur ursprünglichen ausführbaren Datei (einschließlich Dateiname) angibt. Ich weiß, dass das eine den Dateinamen enthält und das andere nicht. Ich weiß, dass ich, wenn ich eine neue AppDomain erstelle, ihr einen anderen Pfad geben kann. Aber wenn ich den Dateinamen aus ExecutablePath herausnehme und davon ausgehe, dass ich nur eine AppDomain verwende, was ist dann in der Praxis der Unterschied zwischen diesen beiden Pfaden? Werden sie immer gleich sein (wieder unter der Annahme, dass es nur eine AppDomain gibt)? Gibt es einen Fall, in dem sie sich unterscheiden würden?

3voto

Orion Edwards Punkte 117361

Denken Sie an etwas wie ASP.NET, wo Ihr Code in einem anderen Prozess gehostet wird. Das BaseDirectory ist der Ort, an dem sich Ihr Code befindet, aber der ExecutablePath ist wahrscheinlich eine Dll in system32.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X