Sql server 如何为SSMS 2019(v18)创建扩展

Sql server 如何为SSMS 2019(v18)创建扩展,sql-server,visual-studio-extensions,ssms-addin,ssms-18,Sql Server,Visual Studio Extensions,Ssms Addin,Ssms 18,于2018年3月28日发布 已经有人问过这个问题,但在为不同版本的SQLServerManagementStudio编写扩展时有一些细微的变化 让Hello World应用程序在SSMS 2019中运行的步骤是什么?以下是完整的步骤,改编自Stefan Timovski关于 使用扩展工具包安装 如果不确定是否安装了扩展工具包,则可以打开Visual Studio安装程序并修改当前安装,以确保已安装扩展 创建新的扩展项目 转到文件新建项目(Ctrl+Shift+N) 选择可扩展性>VIX项目

于2018年3月28日发布

已经有人问过这个问题,但在为不同版本的SQLServerManagementStudio编写扩展时有一些细微的变化


让Hello World应用程序在SSMS 2019中运行的步骤是什么?

以下是完整的步骤,改编自Stefan Timovski关于

  • 使用扩展工具包安装

    如果不确定是否安装了扩展工具包,则可以打开Visual Studio安装程序并修改当前安装,以确保已安装扩展


  • 创建新的扩展项目

    转到文件新建项目(Ctrl+Shift+N)

    选择可扩展性>VIX项目

    如果您没有这些选项,请确保执行了步骤1

  • 添加新的命令项

    添加新项目(Ctrl+Shift+a)

    选择Extensibility,仅出于演示目的,获取一个自定义命令

  • 在Visual Studio中调试

    命令文件将向“工具”>“调用命令1”添加一个菜单项。如果点击“调试”,VisualStudio将启动一个可调试实例,该实例将与当前扩展一起完全加载。点击播放或点击F5

    第一次启动可能需要一分钟的时间,但之后应该会更快

    在Command1.cs>
    Execute
    中处理的单击事件,您可以添加断点

    这是正在运行的消息框

  • 获取SSM的文件路径

    SSMS 18的默认安装路径应为:

    C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe
    
    如果不存在,要确定任何应用程序的启动位置,您可以按住Shift键并右键单击应用程序图标,然后选择“打开文件位置”

  • 将启动设置为SSMS

    在VS中打开项目属性(Alt+Enter)

    转到调试
    启动外部程序并粘贴到路径中

    删除命令行参数,因为它们不再适用于SSM

  • 将部署VSIX设置为SSMS

    “Extensions”子目录应与SSMS位于同一目录中。另外,用您的项目名称添加一个额外的文件夹,如下所示

    C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\VSIXProject1
    
    转到VSIX>并选择“将VSIX内容复制到以下位置

  • 设置权限

    最后,为了以编程方式调用C驱动器上的任何应用程序,您需要管理员权限,因此您需要以管理员模式打开Visual Studio。您可以像这样右键单击应用程序来实现这一点

    C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\VSIXProject1
    

  • 点击运行和调试

    普雷斯托!布拉莫!您的扩展现在应该正在运行SSMS

  • 进一步阅读 从历史上看,每个扩展都需要被列入白名单,但根据报告,一个大的变化(更好)是

    开发SSMS扩展不再需要包ID
    在过去,SSM只选择性地加载已知的包,因此要求开发人员注册自己的包。现在已经不是这样了


    由于SSMS 18使用Visual Studio 2017独立Shell,因此许多扩展开发人员文档可在

    Awesome work@KyleMit下获得-我想补充一点,如果您授予自己对
    C:\Program文件(x86)的修改权限,则无需以管理员身份运行\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions
    Folder回答得很好,非常感谢!我要补充一点,如果您是在VS2019中构建扩展,并且目标是SSMS 18,请使用Nuget软件包管理器卸载Microsoft.VisualStudio.SDK 16,而不是安装15.x。否则,ActivityLog.xml中会出现一个错误,即无法找到Microsoft.VisualStudio.Shell.15.0,版本=16.0.0.0。非常感谢。我为这个错误奋斗了几个小时。你知道如果我在VS19和SSMS19中成功了,我还需要玩这个把戏吗?有人知道或者有一个关于如何在SSMS V18/19的对象资源管理器上实现和项菜单的例子吗?我一直在寻找很长一段时间,我发现所有的都是以前版本的SSMSFwiw,作者已经在一个“真实世界”的例子是有用的下一步。比如说他,。YMMV。