Аддон для 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 |