Я пытаюсь сделать как написано в API Guidlines - ну просто учусь как файл создавать и т.п. )))
Вот что я делаю по пунктам:
1. Заранее создаю файл общих параметров и засовываю его в ресурсы сборки
2. Добавляю путь к ресурсам и потом говорю что этот путь - путь к файлу параметров.
3. Далее открываю этот файл чтобы получить к нему доступ.
4. Уже далее, как я понимаю, все действия производятся для того, чтобы создать определения параметра для некоторого объекта - контейнера который потом будет вставляться в "Параметры проекта"
Вот код который я пытаюсь реализовать:
//путь к файлу в сборке
string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "SharedFile.txt");
 
//определение пути для ФОП(файла общих параметров)
app.SharedParametersFilename = path;
 
//Открытие ФОП
var defifnitionFile = app.OpenSharedParameterFile();
 
//Новая группа для объекта контейнера
DefinitionGroups myGroups = defifnitionFile.Groups;
DefinitionGroup myGroup =  defifnitionFile.Groups.get_Item("Общая группа");
 
Definition myDefinition_Parameter1 = myGroup.Definitions.Create("Параметр1", ParameterType.Text);
                
//Новая набор категорий для объекта контейнера                
CategorySet myCategories = uiapp.Application.Create.NewCategorySet();
 
// use BuiltInCategory to get category of Wall
Category myCategory = uiapp.ActiveUIDocument.Document.Settings.Categories.get_Item(BuiltInCategory.OST_Walls);
 
//Вставка в созданный набор категорий категорию стены
myCategories.Insert(myCategory);
 
            InstanceBinding instanceBinding = uiapp.Application.Create.NewInstanceBinding(myCategories);
 
            BindingMap bindingMap = uiapp.ActiveUIDocument.Document.ParameterBindings;
           
            bool instanceBindOK = bindingMap.Insert(myDefinition_Parameter1,instanceBinding, BuiltInParameterGroup.PG_TEXT);
 
В этой связи не понятно, во первых постоянно вылетает сообщение об исключении.
Кстати, этот код я делаю в транзакции - ее просто не указал. 
Вот эта строка присваивает имя параметру.
Definition myDefinition_Parameter1 = myGroup.Definitions.Create("Параметр1", ParameterType.Text);
 
Так а зачем мне присваивать имя, если я его уже создал в файле. Как вот из файла все достать что уже создано заранее и имя и идентификатор и группу?
Как проверить 
 instanceBindOK  ?