Согласно MSDN, BaseDirectory - это то место, где AppDomain будет искать библиотеки DLL для загрузки, а ExecutablePath предоставит путь к исходному исполняемому файлу (включая имя файла). Я знаю, что у одного есть имя файла, а у другого нет. Я знаю, что если я создам новый домен приложения, я могу указать ему другой путь. Но если удалить имя файла из ExecutablePath и предположить, что на практике я использую только один AppDomain, в чем разница между этими двумя путями? Всегда ли они будут одинаковыми (опять же, при условии, что только один домен приложения)? Есть ли случай, когда они были бы другими?





Подумайте о чем-то вроде ASP.NET, где ваш код размещен внутри другого процесса. BaseDirectory будет там, где живет ваш код, но ExecutablePath, вероятно, представляет собой некоторую dll в system32.