저는 Visual Studio에서 Workspace를 사용하여 roslyn과 함께 사용하려고합니다. How to get reference to 'Roslyn' Workspace object from IVsSolution?VisualStudioWorkspace에서 작업 영역을 가져 오는 방법은 무엇입니까?
내가 정확히 동일한 코드 작성 :
나는 이것처럼, 그것에 대해 몇 가지 주제를 발견var componentModel = (IComponentModel)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SComponentModel));
var workspace = componentModel.GetService<Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace>();
을하지만이 오류가 ...
" 제약 조건과 일치하는 내보내기가 없습니다. ContractName Microsoft.CodeAnalysis.Workspace RequiredTypeIdentity Microsoft.CodeAnalysis.Wor kspace "
나는 정말로 무엇이 문제인지 이해하지 못한다.
링크에서 모든 것을했는데 새로운 오류가 발생합니다. 'Microsoft.VisualStudio.LanguageServices.RislynVisualStudioWorkspace (ContractName = "Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace")'형식의 기본 수출 값을 'Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace'에 입력 할 수 없습니다. 나는 정말로 이해하지 못한다 .. – PasTeK
그것은 기괴한 오류이고 Roslyn보다 MEF와 더 관련이있는 것으로 보인다. 그들은 비슷한 문제를 여기에 언급 : http://stackoverflow.com/a/14320296/300908 – JoshVarty
내 솔루션의 모든 프로젝트에서 Roslyn VSSDKTargetPlatformRegRootSuffix>했습니다. 그러나 나는 항상 같은 오류가 발생합니다. "ContractName과 일치하는 내보내기가 발견되지 않았습니다. ContractName Microsoft.CodeAnalysis.Workspace RequiredTypeIdentity Microsoft.CodeAnalysis.Workspace"Visual Studio에서 작업하고 VisualStudio에서/rootSuffix Roslyn을 사용하여 Editor VSPackage를 테스트합니다. 좋은 방법입니까? 나는 정말로 이해할 수 없다, 나는 당신의 모든 게시물을 따라하지만, 항상 오류가 발생했습니다. –
PasTeK