Я читал о пространстве имен System.IO.IsolatedStorage в .NET и обнаружил, что могу использовать его для хранения файла в месте, уникальном для моей сборки или исполняемого файла. Например, следующий код:
using System.IO.IsolatedStorage;
public class Program
{
static void Main(string[] args)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForAssembly();
store.CreateFile("myUserFile.txt");
}
}
Создает файл «myUserFile.txt» в следующем месте:
C: \ Users \ Nick \ AppData \ Local \ IsolatedStorage \ bhxcjtkp.bpv \ wbjkcolm.3br \ StrongName.m2s0saaun2onmow3pd2dopkml30 \ AssemFiles
И использование IsolatedStorageFile.GetMachineStoreForAssembly ()
создает аналогичную структуру каталогов в C: \ ProgramData \ IsolatedStorage.
Я вижу преимущества, позволяющие этому API создавать для вас место хранения ( не нужно самостоятельно придумывать путь к файлу). Но я был удивлен, увидев, что в IsolatedStorage не было других файлов из других сторонних приложений (по крайней мере, не на моем компьютере).
Вместо этого я нашел довольно много программ, хранящих файлы конфигурации и тому подобное просто под C: \ Users \ Nick \ AppData \ Local. Кто-нибудь знает причину, по которой поставщики программного обеспечения могут уклоняться от использования IsolatedStorage? Или они используют другой API, который хранит файлы в AppData?