わかりました。確認しましたEnvironment.SpecialFolder
が、これに関するものは何もありません。
C# で現在のユーザーのホーム ディレクトリを取得したいです。(例: c:\documents and settings\user
XP、c:\users\user
Vista、/home/user
Unix の場合)
これを調べるために環境変数を読み取ることができることはわかっていますが、これをクロスプラットフォームの方法で実行したいと考えています。
これを .NET (できれば mscorlib を使用) で実行する方法はありますか?
アップデート: さて、これが私が最終的に使用したコードです:
string homePath = (Environment.OSVersion.Platform == PlatformID.Unix ||
Environment.OSVersion.Platform == PlatformID.MacOSX)
? Environment.GetEnvironmentVariable("HOME")
: Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
ベストアンサー1
Windows およびUnix/Linux でEnvironment.SpecialFolder.UserProfile
参照されるものを探しています:C:\Users\myname
/home/myname
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)
これはEnvironment.SpecialFolder.Personal
My Documents (または Win7 以降では Documents) ですが、Unix/Linux のホーム ディレクトリと同じであることに注意してください。