作者:朱金灿

 

         上次我们提到SatelliteDllName和SatelliteDllPath这两个注册表项。VS插件中所用到的资源如工具栏按钮之类的单独放在一个dll内,代码逻辑实现放在另一个dll,一般的命令惯例为代码逻辑实现的动态库为Logic.dll,资源动态库为LogicUI.dll。SatelliteDllName就是是指定VS插件中所用到资源dll的名字,SatelliteDllPath则是指定寻找资源dll的基本路径。寻找资源dll依照以下顺序来进行:

 

1.      查找SatelliteDllPath\shell UI locale\SatelliteDllName是否存在

2.      假如失败,寻找SatelliteDllPath\ User's preferred OS Locale \SatelliteDllName是否存在

3.      假如失败,寻找SatelliteDllPath\ User's setup OS Locale \SatelliteDllName是否存在

4.      假如失败,寻找SatelliteDllPath\ 1033 \SatelliteDllName是否存在

5.      假如失败,寻找SatelliteDllPath \SatelliteDllName是否存在

   

       一般我们习惯在插件输出目录下新建一个1033的文件夹,资源dll就放在这个1033文件夹下。前面我们已经新建了DevHelper工程,下面我们就新建一个DevHelperUI工程作为它的资源dll。


 

            未完待续,敬请继续关注!

 

参考文献:

  1. ​Add-In Registration​
  2. ​Visual Studio Add-ins with Icons Made Easy​