Получение пути к домашнему каталогу в C #?

Хорошо, я проверил Environment.SpecialFolder, но там для этого ничего нет.

Я хочу получить домашний каталог текущего пользователя в C #. (например.c:\documents and settings\user под XP,c:\users\user под Vista, и/home/user под Unix.)

Я знаю, что могу прочитать переменные окружения, чтобы выяснить это, но я хочу сделать это кросс-платформенным способом.

Есть ли способ сделать это с помощью .NET (желательно с помощью mscorlib)?

UPDATEХорошо, это код, который я использовал в конечном итоге:

string homePath = (Environment.OSVersion.Platform == PlatformID.Unix || 
                   Environment.OSVersion.Platform == PlatformID.MacOSX)
    ? Environment.GetEnvironmentVariable("HOME")
    : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");

Ответы на вопрос(8)

Ваш ответ на вопрос