C# SQL Server Management Studio 2008加载项
我正在尝试使用VS.NET 13的Visual Studio外接程序项目模板创建SSMS 2008外接程序。我已经按照CodeProject中的说明进行了操作。但是,本教程适用于SSMS 2012,文件夹结构与SSMS 2008的文件夹结构非常不同。我的问题是:我应该把.addin文件放在哪里才能让SSMS 2008使用它?C# SQL Server Management Studio 2008加载项,c#,sql-server-2008,ssms,visual-studio-addins,ssms-addin,C#,Sql Server 2008,Ssms,Visual Studio Addins,Ssms Addin,我正在尝试使用VS.NET 13的Visual Studio外接程序项目模板创建SSMS 2008外接程序。我已经按照CodeProject中的说明进行了操作。但是,本教程适用于SSMS 2012,文件夹结构与SSMS 2008的文件夹结构非常不同。我的问题是:我应该把.addin文件放在哪里才能让SSMS 2008使用它? 另外,这是我创建的注册表项 HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tool
另外,这是我创建的注册表项 HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\Shell\Addins\AddInName.Connect
Connect是为与主机应用程序的加载项连接提供逻辑的类的名称。这是正确的吗?
提前谢谢 .addinSSMS 2008不需要中的文件。您创建的正确注册表项和相应的CLSID注册应该足够了 这是我在Tabs Studio插件(msi、wix、当前用户安装程序)中使用的内容:
那么只需创建我创建的注册表项,然后将外接程序的.dll放在Program Files(x86)文件夹中?SSM如何知道在哪里找到它们?@EndiZhupani您的CLSID代码基指向实际的dll。我在答案中包含了示例代码。我想我成功地用LoadBehavior=1安装了它,但现在当我打开SSMS时,它无法加载加载项。它显示的错误消息为“不支持此类接口”,错误号为80004002。是否Connect.cs中的默认接口有问题?@EndiZhupani连接类应该附加System.Runtime.InteropServices.Guid(“myguid”)和ComVisible(true)属性。
<Component Id="TabsStudioSSMS2008Component" Guid="986C2BFA-4C21-42e4-96B3-7C0178B841DC">
<RegistryKey Root="HKCU" Key="Software\Sergey Vlasov\Tabs Studio\Installer">
<RegistryValue Type="integer" Name="SSMS2008" Value="1" KeyPath="yes"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\Addins\TabsStudio.Connect">
<!--<RegistryValue Type="integer" Name="LoadBehavior" Value="3"/>-->
<RegistryValue Type="string" Name="LoadBehavior" Value="[SSMS2008LOADBEHAVIOR]"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}">
<RegistryValue Type="string" Value="TabsStudio.Connect"/>
</RegistryKey>
<RegistryKey Root="HKCU"
Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}"
Action="createAndRemoveOnUninstall">
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\InprocServer32">
<RegistryValue Type="string" Value="mscoree.dll"/>
<RegistryValue Type="string" Name="ThreadingModel" Value="Both"/>
<RegistryValue Type="string" Name="Class" Value="TabsStudio.Connect"/>
<RegistryValue Type="string" Name="Assembly" Value="TabsStudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<RegistryValue Type="string" Name="RuntimeVersion" Value="v2.0.50727"/>
<RegistryValue Type="string" Name="CodeBase" Value="[PersonalFolder]Visual Studio 2008\Addins\TabsStudio.dll"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\InprocServer32\1.0.0.0">
<RegistryValue Type="string" Name="Class" Value="TabsStudio.Connect"/>
<RegistryValue Type="string" Name="Assembly" Value="TabsStudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<RegistryValue Type="string" Name="RuntimeVersion" Value="v2.0.50727"/>
<RegistryValue Type="string" Name="CodeBase" Value="[PersonalFolder]Visual Studio 2008\Addins\TabsStudio.dll"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\CLSID\{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}\ProgId">
<RegistryValue Type="string" Value="TabsStudio.Connect"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\TabsStudio.Connect">
<RegistryValue Type="string" Value="TabsStudio.Connect"/>
</RegistryKey>
<RegistryKey Root="HKCU" Key="Software\Classes\TabsStudio.Connect\CLSID">
<RegistryValue Type="string" Value="{E52044B6-1EBA-4D82-AF2A-FABE2A79B106}"/>
</RegistryKey>
</Component>