和我一起学VSTA(Visual Studio Tools for Applications )(二)

上一篇简单介绍了VSTA,这一篇开始,用一个实例来说明如何使用VSTA进行开发。

这个实例,我们要实现如下功能:

  1. 主窗体上点击按钮1,可以触发事件,打开一个基于此程序的IDE编程环境;
  2. 主窗体上点击按钮2,可以触发事件,在IDE编程环境中增加一个fun方法,如果此方法已经存在,则将光标定位到此方法;
  3. 主窗体上点击按钮3,可以触发事件,执行在IDE编程环境中编写的fun方法。

以上功能就满足了一个二次开发的基本要求,即主程序可以执行二次开发的代码,实现相应功能。

因为我使用的是Visual Studio 2005 Tools for Applications,所以就以此为例,当然现在微软已经发布了VSTA V2,是forVS2008的,也可通过一些处理使用在VS2005上。

前期装备工作:

  1. 安装VSTA SDK;
  2. 建立对象模型的proxy;
  3. 注册主程序;
  4. 创建模板。

首先是安装VSTA SDK,这个无需多说,有一点需要强调一下的是,装完SDK包后,需要安装%ProgramFiles%\Visual Studio 2005 Tools for Applications SDK\<Build Number>\VisualStudioToolsForApplications\SetupPackage\vsta_aide.msi,也可以在命令行模式下带参数安装msiexec /i vsta_aide.msi VSTAINVS=1,VSTAINVS=1这个参数表示可以用VS2005开发扩展功能,否则只可用VSTA的IDE进行开发。

安装完成之后需要进行建立相应的VS项目进行开发:

  • 我们先建立一个空项目VSTASample,添加一个空的类库VSTASample,将class1.cs改名成VSTAApplication.cs(这里只是方便理解,没有实际用途),编译生成dll;
  • 在项目文件夹下新建一个文件夹proxy(用来存放生成的proxy文件以及建立proxy工程);
  • 打开“Visual Studio 2005 命令提示符”窗口,切换至%ProgramFiles%\Visual Studio 2005 Tools for Applications SDK\<build number>\VisualStudioToolsForApplications\Tools\ProxyGen\x86\
  • 输入proxygen.exe /l:"%项目目录%\VSTASample\VSTASample\bin\Debug\VSTASample.dll" /c:"%项目目录%\VSTASample\VSTASample\proxy\Proxy.cs" /o:"%项目目录%\VSTASample\VSTASample\proxy\VSTASampleOM.xml" /f      回车;
  • 用记事本中打开“VSTASampleOM.xml”描述文件,在类元素的结尾“isStatic="false"”之后添加以下属性:
    isAddInEntryPoint="true“, 保存MyVSTAOM.xml并关闭;
  • 再次在命令行输入proxygen.exe /l:"%项目目录%\VSTASample\VSTASample\bin\Debug\VSTASample.dll" /c:"%项目目录%\VSTASample\VSTASample\proxy\Proxy.cs" /i:"%项目目录%\VSTASample\VSTASample\proxy\VSTASampleOM.xml" /f   回车,这里输出参数(/o)被改成了输入参数(/i)
  • 接下来就简单了,建立一个proxy类库工程,把生成的proxy.cs文件添加进去,添加程序集Microsoft.VisualStudio.Tools.Applications.Adapter
    Microsoft.VisualStudio.Tools.Applications.Contract
    System.AddIn.Contract
  • 为proxy类库工程程序集强名称,编译生成proxy.dll;
    • 简单说下强名称,打开工程的属性页,进入属性的签名标签
    • 在标记页面,选择为程序集签名
    • 选择强名称密钥文件列表,选择新建
    •  
    • 在文件名键中输入key.snk
    • 去除设定密码保护密钥文件选项,点击OK
    •  
  • 将proxy.dll添加至程序集缓存
    • 控制面板——>管理工具——>Microsoft .NET Framework 2.0 配置——>管理程序集缓存——>添加
    •  

到这里,proxy的建立就全部完成了,项目如图所示:

下一篇将接着介绍开发前提:注册主程序和创建模板。

 

P.S:时间比较紧,每一篇都写的比较少,大家见谅,下下篇将进入重点,如何实现打开VSTA IDE编程环境以及如何加载二次开发的程序并调用其中的方法。

 

转载于:https://www.cnblogs.com/solsolsol/archive/2009/05/27/1490793.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值