Аддон для AutoCAD – где хранит параметры “по умолчанию”

Столкнулся тут на работе с проблемой, когда проект (если что, проект NET Framework 4.7, параметры читаются / записываются через Properties.Settings.Default) непонятно как работает с параметрами: то ли они не читаются, то ли они не сохраняются, но работать в любом случае невозможно.

Напоминаю: сайт есть шпаргалка! Для самого себя! :)

Понятно что все это барахло хранится в файле user.config, скрытом где-то в глубинах %AppData%. Проблема в том, что таких файлов может быть несколько, и какой из них реально используется - неизвестно. Чтоб хотя бы примерно понимать, в какую сторону копать, и в каком файле отслеживать изменения, нарисовал вот такую вот команду:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using System.ComponentModel;
using System.Configuration;

namespace Aspecific.AcadCommands
{
    public static class ConfigFileCmd
    {
        [CommandMethod("config-filename")]
        [Description("Выводит имя файла, в котором аддон хранит свои данные")]
        public static void ConfigFileNameCommand()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            if (doc == null)
            {
                return;
            }

            Configuration config =
                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
            string fileName = config.FilePath;

            Editor ed = doc.Editor;
            ed.WriteMessage($"\n{fileName}");
        }
    }
}

Ну и простейшая проверка:

1
2
3
Command: CONFIG-FILENAME

C:\Users\kpblc\AppData\Local\Autodesk,_Inc.\DefaultDomain_Path_qoeilb4ehn3cmogywcouwdqn2zikoy4f\R24.0.47.0.0\user.config

Размещено в .NET, AutoCAD · Метки: , , , ,



Поделитесь своим мнением


Я не робот.