1
我正在嘗試爲vs2017構建VSIX包以使自定義工具可用。 我現在面臨的問題是,我無法在調試時獲取當前工作區。 下面的代碼用於獲取工作區:VSIX項目:由於投射問題而無法獲取當前工作區
var componentModel = (IComponentModel)Package.GetGlobalService(typeof(SComponentModel));
var workspace = (Workspace)componentModel.GetService<VisualStudioWorkspace>();
在代碼的第二線引發的錯誤是「無法轉換類型的對象‘Microsoft.VisualStudio.LanguageServices.RoslynVisualStudioWorkspace’爲類型「Microsoft.VisualStudio .LanguageServices.VisualStudioWorkspace」。「
我已經將languageservices-package添加到項目中,如其他主題上的建議。
現在我正在接近這個問題。在我見過的模塊中,Microsoft.CodeAnalysis.Workspaces被加載了2次,所以我從輸出中排除了vsix中的引用。 –
「無法加載文件或程序集'Microsoft.CodeAnalysis.Workspaces,版本2.3.0.0'....」我可以使用程序集重定向工作嗎?我看到程序集已經加載,只是在一個不同的版本 –
@ D.J .:聽起來你引用的是比VS版本更新的Roslyn版本。升級VS或降級Roslyn。 – SLaks