2013-07-12 1 views
1

загружаю мое решение:Рослин семантическая модель с раствором

var workspace = Workspace.LoadSolution(path); 

Теперь я хотел бы создать семантическую модель с любым файлом в этом растворе. Как я могу это сделать? Я попытался использовал LINQ, но я сейчас не как создать семантическую модель для анализа ClassDeclaration и т.д.

ISolution semanticModel = tree.GetSemanticModel(); 

не работает; (

ответ

2

Вы можете получить семантическую модель из экземпляра документа

.
var someSemanticModel = 
    workspace.CurrentSolution 
      .Projects.First() 
      .Documents.First() 
      .GetSemanticModel(); 
+0

Выполнение этого Я получаю сообщение об ошибке при попытке решить, что принадлежит AST, отличному от текущего документа. Похоже, что семантическая модель связана с документом, а не с решением. –

+0

Семантическая модель относится к дереву синтаксиса, который обычно относится к единому документу лор – Schneider