Это основано на предоставленном вами коде, но работает очень медленно для большого списка, как отмечено в других комментариях.
new_records = []
for record in records:
new_id = record['id']
new_name = record['name']
new_dict = {'id':new_id, 'name': new_name}
if not any(new_record['id'] == new_id for new_record in new_records):
new_records.append(new_dict)
Увы я понял это после большого количества goooogling!!
В connect.cs:
public String SolutionPath()
{
return Path.GetDirectoryName(_applicationObject.Solution.FullName);
}
Ответ Solution.FullName правильный, но будьте осторожны, вы не сможете получить к нему доступ, пока не будет вызван метод OnStartupCompleted в connect.cs.