Roslyn: Как получить ссылку на Workspace из загруженного в данный момент решения?

Я пытаюсь получить ссылку на загруженную рабочую область, но безуспешно. Согласно документации (часть выделена жирным шрифтом), я смогу получить ссылку на нее.

API-интерфейсы Workspace находятся в пространстве имен Roslyn.Services, и они доступны, если включить в директиву using следующее:

использование Roslyn.Services;

Рабочая область, которую вы используете, обычно предоставляетсянепосредственно средой хоста (например, Visual Studio IDE), Однако вы можете работать с рабочим пространством вне среды хоста, создав собственный экземпляр IWorkspace.

Вы можете создать рабочее пространство, загрузив файл решения.

IWorkspace workspace = Workspace.LoadSolution (@ "HelloWorld.sln"); ISolution solution = workspace.CurrentSolution;

Я попытался следовать в модульном тесте, но рабочая область пуста.

  IWorkspace workspace = Workspace.PrimaryWorkspace;

  ISolution solution = workspace.CurrentSolution;

Я не хочу загружать решение, я хочу работать с уже загруженным решением. Как это сделать? Я использую Visual Studio 2012.

Редактировать:

Попытка использования switch / rootSuffx Roslyn, как предложено в ответе, и VS выдает ошибку, что это неверный ключ Изменил его на / rootSuffix Roslyn, и VS запускается, но рабочая область все еще пуста.

Ответы на вопрос(1)

Ваш ответ на вопрос