Как обмениваться пользовательскими настройками или файлами с помощью UserAppDataPath между сборками? - PullRequest
2 голосов
/ 13 октября 2009

Прямо сейчас, когда я выпускаю новую сборку моего приложения .NET, путь UserAppDataPath указывает на новую папку, содержащую номер сборки.

Документы и Settings \ UserName \ Application Data \ Компания \ AssemblyName \ 1.0.0.0

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

Безопасно ли обрезать номер версии \ 1.0.0.0 и использовать его корневой путь? или есть лучший способ хранить настройки в месте, где всегда есть права на запись?

Ответы [ 2 ]

2 голосов
/ 13 октября 2009

AppSettings поддерживают обновления. Посмотрите здесь . Надеюсь, это укажет вам правильное направление ...

0 голосов
/ 15 ноября 2013

Я использую следующий код для извлечения пользовательских данных, которые хранятся в потенциально старых папках из предыдущих версий сборки:

    string suffix = "/MyUserSettings.dat";
    string folder = Application.UserAppDataPath;
    string filename = folder + suffix;

    if (!File.Exists(filename))
    {
        // Check whether an older folder from a previous version with appropriate user data exists
        DirectoryInfo[] directories = new DirectoryInfo(folder).Parent.GetDirectories("*", SearchOption.TopDirectoryOnly);
        for (int i = 0; i < directories.Length; i++)
        {
            if (File.Exists(directories[i].FullName + suffix))
            {
                filename = directories[i].FullName + suffix;
            }
        }
    }

    if (File.Exists(filename))
    {
        // load user settings from file
    }
    else
    {
        // use default settings
    }
...