Имя текущего профиля и прочие Preferences

В очередной раз приношу самую искреннюю благодарность Андрею Бушману - без него я бы точно не разобрался в этой задачке.
Далее

Выполнение кода сразу после загрузки .NET-dll

Иногда бывает необходимо до вызова команд (а еще лучше - прямо после загрузки кода) выполнить некоторые действия: установить системные переменные, установить пути поддержки и т.п.). В лиспе это просто:

1
2
3
4
5
6
(defun test()
  (alert "test")
  )

;; А вот и выполнение
(test)

Это то, что в лиспе часто называют "самовызовом". Выполнение кода начинается сразу после загрузки соответствующего lsp-файла в память.

Механизм достаточно удобный, несмотря на некоторые трудности, описанные здесь и здесь.

С .NET ситуация немного иная.

Далее

Создание записей в таблицах стилей, слоев и т.п.

Как показала практика, приведенный пример не совсем жизнеспособен. Он прекрасно будет работать только в том случае, если в файле либо уже существует указанный текстовый стиль (и тогда выполняется его модификация), либо в файле с момента его открытия этого стиля еще не существовало.
Если же стиль был создан, а потом удален, то строка

вернет true, несмотря на то, что стиль имеет свойство IsErased = true. Что же делать?
Далее