c# - 将 VsPackage 附加到 Roslyn 实例

标签 c# roslyn vspackage

我正在尝试创建一个使用 Roslyn 语言服务的 VsPackage。在我的 VsPackage 的属性下,我将命令行参数更改为:

/rootsuffix Roslyn

运行项目时,启动的 Visual Studio 实例正确使用了 Roslyn。 (我在打开的 .cs 文件名称旁边看到 [Roslyn])。但是,我的 VsPackage 没有部署到这个 Visual Studio 实例。

我打开了 Roslyn 附带的 SyntaxVisualizerExtension VsPackage 并编译/运行它。它使用 Roslyn 正确部署到 Visual Studio。我查看了项目属性和引用资料,没有发现任何遗漏的内容。

我正在采取的步骤是:

  1. 文件 > 新建项目 > Visual Studio 包
  2. 使用工具窗口创建
  3. 打开项目属性,将/rootsuffix Exp更改为/rootsuffix Roslyn
  4. 添加对 Roslyn .dll 的引用
  5. 运行项目。

理论上,我可能会剥离 SyntaxVisualizerExtension 包,但我想知道为 Roslyn 实例创建 VsPackage 的正确方法。

最佳答案

没有 UI 设置来控制属性是什么。在记事本中编辑项目文件(或在 VS 中卸载项目,然后右键单击并选择“编辑”),并添加以下行:

<VSSDKTargetPlatformRegRootSuffix>Roslyn</VSSDKTargetPlatformRegRootSuffix>

进入适当的 PropertyGroup。查看通过任何 Roslyn 模板创建的项目以获取示例。

关于c# - 将 VsPackage 附加到 Roslyn 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604562/

相关文章:

c# - winform的优化

c# - 如何将 JSON 对象读取到 WebAPI

c# - ConcurrentQueue<StrongBox<T>> 的用法

c# - 在 C# 编辑器窗口中查找当前位置的项目类型

visual-studio-2010 - VS 可扩展性架构(包 API/Visual Studio 库)

roslyn - 如何从 IVsSolution 获取对 'Roslyn' Workspace 对象的引用?

c# - Lambda 代码是否与动态创建的控件重复?

c# - 使用 Roslyn 时,控制台不包含 ReadKey 的定义

c# - Roslyn SyntaxTree 更改注入(inject)

c# - Visual Studio Extensions - 支持多个版本的 VS