gpt4 book ai didi

roslyn - 如何从 VS 包中获取 Roslyn 工作区?

转载 作者:行者123 更新时间:2023-12-01 09:55:43 28 4
gpt4 key购买 nike

来自 Visual Studio 2015 CTP5 包,如何获取当前的 Roslyn 工作区?

我在看

How to get reference to 'Roslyn' Workspace object from IVsSolution?



Roslyn: How to get a reference to Workspace from currently loaded solution?

但我仍然无法让它工作:

Workspace.CurrentWorkspace 不再存在

我尝试导入 VisualStudioWorkspace,但它仍然为空:

public sealed class VSPackage1Package : Package
{
....
[Import]
public VisualStudioWorkspace Workspace { get; set; }
....
protected override void Initialize()
{
// Workspace is null here...

某处有样本吗?

最佳答案

I don't see any definition of VisualStudioWorkspace (or the Microsoft.VisualStudio.LanguageServices assembly)



它就在那里,仔细检查你找对地方了。

[Import] 仅当您正在使用的类本身是 MEF 导出时才有效。如果不是(就像你的情况下的包),只需写:
var componentModel = (IComponentModel)GetService(typeof(SComponentModel));
var workspace = componentModel.GetService<VisualStudioWorkspace>();

关于roslyn - 如何从 VS 包中获取 Roslyn 工作区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198358/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com