Здравствуйте, achmed, Вы писали:
A>Здравствуйте, orangy, Вы писали:
A>>>Я ведь могу использовать Devexpress в плагине?
O>>Насколько я понимаю, впрямую не можешь. Но там есть TreeModelPresentableView и его тебе должно хватить.
A>Наконец то добрался ...
A>Появились вопросы:
A>1) Как удалить референс у проекта?
A>Делаю так:
A>A>IProject project = moduleReference.GetProject();
A>project.RemoveModuleReference(moduleReference);
A>
A>В итоге референс удаляется только в модели решарпера, в UI студии референс остается.
К сожалению, простого способа сделать это в 3.0 нет. IProject.RemoveModuleReference действительно удаляет референс только из модели Решарпера. Что можно сделать:
1) Получить EnvDTE.Project через ProjectModelSynchronizer.GetProjectInfoByProject и далее GetExtProject() у VSProjectInfo.
2) Взять Project.Object, привести его к VSLangProj.VSProject
3) Из коллекции VSProject.References получить VSLangProj.Reference, имя (Name) которого совпадает с IModuleReference.Name
4) Сделать VSLangProj.Reference.Remove
Скорее всего, "настоящий" RemoveModuleReference появится в 4.0 (он работал бы так же, как описанный алгоритм, за исключением пункта 3).
Regards,
Dmitry
JetBrains, Inc.
"Develop with pleasure!"