4

我按照创建您的第一个扩展中的简单 Hello World 示例: Microsoft Docs 中的 Hello World 示例为 SSMS 2017 构建扩展

  1. 从可扩展性项目模板创建 VSIX 项目

  2. 将 Project > Properties > Debug 中的“Start External Program”更改为
    C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe

  3. 添加-S (localdb)\MSSQLLocalDB -d sampleDB -E命令行参数,因为
    它需要指定服务器名称/数据库来运行 SSMS.exe。

  4. 使用添加新项目添加自定义命令
  5. 运行项目

如果未执行步骤 #2 和 #3,它可以在 Visual Studio 中正常工作,但是 SSMS 不会发生任何事情,尽管它会启动 SSMS。

我是否遗漏了某些内容,或者为 SSMS 创建加载项是否有任何限制?

4

2 回答 2

3

你的第一点是对的,但在你准备好之前还有几个步骤要做:

  1. 您需要告诉 Visual Studio 将扩展(在构建时)复制到 SSMS 扩展文件夹,以便 SSMS 可以在启动时加载它。
  2. 您需要告诉 SSMS 跳过其内部扩展验证,因为它不会加载任何未被 SSMS 团队列入白名单的扩展。

我在 CodeProject 创建的一篇文章中详细解释了这个过程。您可以在以下链接中找到完整的教程: https ://www.codeproject.com/Articles/1243356/Create-Your-Own-SQL-Server-Management-Studio-SSMS

于 2018-05-12T13:15:31.453 回答
2

首先,您需要在 source.extension.vsixmanifest 文件中声明 SSMS 支持:

  <Installation>
    <InstallationTarget Id="ssms" Version="[14.0, 14.0]" />
  </Installation>

然后我不认为VS可以自动安装你的SSMS扩展。因此,手动运行 .vsix 文件。

于 2017-11-12T06:31:32.603 回答