А именно, я имею:
Environment.SpecialFolder.ApplicationData
Environment.SpecialFolder.CommonApplicationData
Environment.SpecialFolder.LocalApplicationData
Я неясен относительно, были, они указывают на в Windows XP и/или Windows Vista.
Что я нашел, до сих пор то, что ApplicationData указывает на Папку ApplicationData для текущего пользователя в XP и бродящую папку данных приложения в Vista.
Я также хотел бы знать, существуют ли общие руководящие принципы на том, когда использовать который.
На это нет однозначного ответа. Фактически, именно почему определены эти "SpecialFolder". Вы используете их вместо жестко запрограммированного пути.
Environment.SpecialFolder.ApplicationData
является наиболее распространенным. В этой папке хранятся данные для отдельных пользователей, не относящиеся к временным приложениям, за исключением пользовательских документов. Типичным примером может быть файл настроек или конфигурации.
Environment.SpecialFolder.CommonApplicationData
похожа, но совместно используется пользователями. Вы можете использовать это, например, для хранения шаблонов документов.
Environment.SpecialFolder.LocalApplicationData
является альтернативой ApplicationData без роуминга. Таким образом, вы никогда не будете хранить там важные данные. Однако, поскольку это не роуминг, это хорошее место для временных файлов, кешей и т. Д. Обычно это на локальном диске.
Легко проверить. Используйте 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