win8.1企业版、64位、VS2010
首先要修改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AddIns\VMDebugger.Connect LoadBehavior项改为0
然后打开vs2010,进入工具、外接程序管理器,去掉“可用外接程序”前面的勾就可以了。
如果是2012则,首先要修改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0\AddIns\VMDebugger.Connect LoadBehavior项改为0
然后打开vs2012,进入工具、外接程序管理器,去掉“可用外接程序”前面的勾就可以了。
用Visual Studio 2012创建名为MyVisualStudioAddin的项目(根据向导进行设置,这里不赘述),界面如下:核心 Connect 类
插件入口就是Connect 类,先看一下Connect的类图:
Connect 实现外接程序对象的构造函数。请将您的初始化代码置于此方法内。
OnConnection 实现 IDTExtensibility2 接口的 OnConnection 方法。接收正在加载外接程序的通知。
OnDisconnection 实现 IDTExtensibility2 接口的 OnDisconnection 方法。接收正在卸载外接程序的通知。
OnAddInsUpdate 实现 IDTExtensibility2 接口的 OnAddInsUpdate 方法。当外接程序集合已发生更改时接收通知。
OnStartupComplete 实现 IDTExtensibility2 接口的 OnStartupComplete 方法。接收宿主应用程序已完成加载的通知。
OnBeginShutdown 实现 IDTExtensibility2 接口的 OnBeginShutdown 方法。接收正在卸载宿主应用程序的通知。
QueryStatus 实现 IDTCommandTarget 接口的 QueryStatus 方法。此方法在更新该命令的可用性时调用。
Exec 实现 IDTCommandTarget 接口的 Exec 方法。此方法在调用该命令时调用。
_applicationObject 是DTE2实例,是宿主应用程序的根对象。
_addInInstance是当前插件实例,表示此外接程序的对象。
首先定义一些内部的对象,主要是自定义的命令,如下所示:
1 /// <summary>用于实现外接程序的对象。</summary>
2 /// <seealso class='IDTExtensibility2' />
3 public class Connect : IDTExtensibility2, IDTCommandTarget
4 {
5 #region 命令定义 除了FindInSolutionExplorer外,此处的命令不是根据功能来命令的,而是根据命令所出现的位置来命令的
6 private readonly string MY_COMMAND_FindInSolutionExplorer = "FindInSolutionExplorer"
7 private readonly string MY_COMMAND_Project = "cmdInProject"//在项目上
8 private readonly string MY_COMMAND_Solution = "cmdInSolution"//在解决方案上
9 private readonly string MY_COMMAND_MenuBar = "cmdInMenuBar"//在菜单栏上
10 private readonly string MY_COMMAND_CodeWindow = "cmdInCodeWindow"//代码窗口
11 private readonly string MY_COMMAND_Files = "cmdInFiles"
12 #endregion
13
14 private Command findCommand = null
15 private CommandBarButton findCommandBarButtonButton = null
16 private AddInLogger logger = null
17
18 private DTE2 _applicationObject
19 private EnvDTE.AddIn _addInInstance
20 ......
21 }
1.打开Visual Studio 20102
新建项目:文件》新建》项目
选择Visual c++》Win32 项目》输入项目名称,选择保存目录,单击“确定”按钮
进入Win32应用程序向导,单击“下一步”按钮
应用程序类型选择DLL,附加选项选择空项目,单击“完成”按钮
添加新类头文件:在项目的头文件目录上单击鼠标右键》添加》新建项
已安装的模板选择Visual C++》头文件》输入文件名称,单击“添加”按钮
添加新类源文件:在项目的源文件目录上单击鼠标右键》添加》新建项
已安装的模板选择Visual C++》c++文件》输入文件名称,单击“添加”按钮
为新类添加内容。内容如下:
头文件simpleDLL.h:
源文件simpleDLL.cpp:
步骤阅读
生成解决方案,OK,下一篇讲如何用VS2010编写动态链接库DLL的单元测试用例,调用DLL测试正确性
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)