Assembly.GetExecutingAssembly (). Location
Получает местоположение исполняемой сборки.В приложении ASP.NET это может отличаться из-за теневого копирования сборок в системных папках.Расположение текущей выполняемой сборки может отличаться от местоположения процесса размещения.
Directory.GetCurrentDirectory ();
Получает текущий рабочий каталог хоста.процесс.В большинстве случаев это будет каталог, в котором находится исполняемый файл, но этот рабочий каталог может быть изменен программно с использованием метода SetCurrentDirectory .
System.Environment.CurrentDirectory;
Каталог, из которого был запущен процесс хостинга.
В настольном приложении, в котором все находится в одной папке, 3 может возвращать то же самое.