{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/1414","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/1414/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/1414/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/1414/events","html_url":"https://github.com/dotnet/roslyn/pull/1414","id":63170194,"number":1414,"title":"Add a new export to RoslynVisualStudioWorkspace","user":{"login":"pharring","id":9952654,"avatar_url":"https://avatars.githubusercontent.com/u/9952654?v=3","gravatar_id":"","url":"https://api.github.com/users/pharring","html_url":"https://github.com/pharring","followers_url":"https://api.github.com/users/pharring/followers","following_url":"https://api.github.com/users/pharring/following{/other_user}","gists_url":"https://api.github.com/users/pharring/gists{/gist_id}","starred_url":"https://api.github.com/users/pharring/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pharring/subscriptions","organizations_url":"https://api.github.com/users/pharring/orgs","repos_url":"https://api.github.com/users/pharring/repos","events_url":"https://api.github.com/users/pharring/events{/privacy}","received_events_url":"https://api.github.com/users/pharring/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-not-required","name":"cla-not-required","color":"90EE90"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-20T05:58:48Z","updated_at":"2015-03-20T13:55:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/1414","html_url":"https://github.com/dotnet/roslyn/pull/1414","diff_url":"https://github.com/dotnet/roslyn/pull/1414.diff","patch_url":"https://github.com/dotnet/roslyn/pull/1414.patch"},"body":"The new export allows consumers to get at the Visual Studio workspace without referencing Microsoft.VisualStudio.LanguageServices.dll"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/84021523","html_url":"https://github.com/dotnet/roslyn/pull/1414#issuecomment-84021523","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/1414","id":84021523,"user":{"login":"pharring","id":9952654,"avatar_url":"https://avatars.githubusercontent.com/u/9952654?v=3","gravatar_id":"","url":"https://api.github.com/users/pharring","html_url":"https://github.com/pharring","followers_url":"https://api.github.com/users/pharring/followers","following_url":"https://api.github.com/users/pharring/following{/other_user}","gists_url":"https://api.github.com/users/pharring/gists{/gist_id}","starred_url":"https://api.github.com/users/pharring/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pharring/subscriptions","organizations_url":"https://api.github.com/users/pharring/orgs","repos_url":"https://api.github.com/users/pharring/repos","events_url":"https://api.github.com/users/pharring/events{/privacy}","received_events_url":"https://api.github.com/users/pharring/received_events","type":"User","site_admin":false},"created_at":"2015-03-20T13:55:46Z","updated_at":"2015-03-20T13:55:46Z","body":"Let me give the justification for this change: We have a VS designer component (I can tell you who it is offline) that wants to use Roslyn for metadata inspection. This is a very typical thing for a designer to do. When hosted in VS, they want to use the Visual Studio Workspace so that they stay in sync with the current solution and get the benefits of any caching the VB/C# Language Service does. In order to do that, they need to reference the Microsoft.VisualStudio.LangaugeServices assembly to import the VisualStudioWorkspace instance. This is the only type they need from that assembly. Otherwise their code works entirely on the Workspaces layer. Referencing that assembly causes warnings at build time because we do not embed a couple of PIAs that they do and, since their designer is also extensible, they are reluctant to change their embedding flags because it means a build break for their extenders. I gave them a workaround to use reflection for now, but it would be way easier to import the VisualStudioWorkspace by contract name. Hence this change."}}