つまり、私は持っています:
Environment.SpecialFolder.ApplicationData
Environment.SpecialFolder.CommonApplicationData
Environment.SpecialFolder.LocalApplicationData
Windows XPおよび/またはWindows Vistaでこれらのポイントが何であったかは不明です。
これまでに見つけたのは、ApplicationDataがXPの現在のユーザーのApplicationDataフォルダーとVistaのローミングアプリケーションデータフォルダーを指していることです。
また、どちらを使用するかについての一般的なガイドラインがあるかどうかも知りたいです。
それに対する単一の答えはありません。実際、これは正確にwhyこれらの "SpecialFolder"が定義されています。ハードコードされたパスの代わりにそれらを使用します。
Environment.SpecialFolder.ApplicationData
が最も一般的なものです。このフォルダには、ユーザードキュメント以外の、ユーザーごとの一時的ではないアプリケーション固有のデータが保持されます。一般的な例は、設定または構成ファイルです。
Environment.SpecialFolder.CommonApplicationData
は似ていますが、ユーザー間で共有されます。たとえば、これを使用してドキュメントテンプレートを保存できます。
Environment.SpecialFolder.LocalApplicationData
は、ApplicationDataの非ローミング代替手段です。そのため、重要なデータをそこに保存することは決してありません。ただし、非ローミングであるため、一時ファイル、キャッシュなどの適切な場所です。通常はローカルディスク上にあります。
確認は簡単です。 Use Environment.GetFolderPath(...);
およびMessageBox
またはConsole.Write
を使用すると、それが指している場所も表示されます。パスを表示するシンプルなアプリを作成し、Windows XPおよびWindows Vistaで実行するだけです。
using System;
namespace EnvironmentCheck
{
class Program
{
static void Main(string[] args)
{
Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\n");
Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)+ "\n");
Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+ "\n");
}
}
}
Win 7 x64での私の結果
C:\ Users\myUsername\AppData\Roaming
C:\ ProgramData
C:\ Users\myUsername\AppData\Local
これらの特別なフォルダーがWindowsでどのように評価されるかを知りたい人のためにXPしかし、それを実行するXPを実行する必要はありません。 @MadBoyのコード:
アプリケーションデータ:
C:\Documents and Settings\YourAccountHere\Application Data
CommonApplicationData:
C:\Documents and Settings\All Users\Application Data
LocalApplicationData:
C:\Documents and Settings\YourAccountHere\Local Settings\Application Data