因工作需要,会经常浏览很多网站,网上冲浪的时候,看到好的文章和教程也都想留存,已备不时之需。之前我是将这些网站添加进了浏览器书签中,日积月累,想用的时候每次都要去书签中找,真心觉有些麻烦。看到网上有大神用VSTO开发了一个PPT插件,是各种网站的导航,我觉得非常的nice,就决定自己学习一下,做一个和我工作相关的网站导航小工具。
经过两天的学习,小工具已经开发完成了,想发布出一个安装包,以便我以后在其他的设备上也能安装使用。只是我没想到这发布的过程居然花了我最多的时间,一步一个坑啊。
我准备把我在发布过程中遇到的问题,做一下总结和记录。
1.error MSB3482: 签名时出错: 密钥集不存在
尝试创建新证书 .
查看项目属性下的“签名”部分 .
在我的情况下,我的MSB3482错误发生,因为我的证书确实已过期 . 我点击了名为“创建测试证书”的按钮,
我用的是VS2019 版本,上网上重新找VS2019 的密钥,如下所示
1.Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
2.Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF
输入对应的密钥,创建新的证书后,就可以继续编译运行了,问题解决。
2.发布出安装文件后,安装成功,但是 ppt加载addin出错
在VS中发布成安装文件之后,运行安装完成。但是打开PPT发现插件并没有安装成功。这个问题也是困扰了我一阵。在网上找了很多最后得的结论就是在VSTO的开发过程中,因为通过安装程序加载了addin;后来由于调试也要加载开发版本的addin,因为内部冲突会导致开发版本的addin不能正常加载。
解决方案就是“清理注册表”。
手动清理步骤如下:
1、卸载通过setup安装的addin,通过ppt的文件--〉选项--〉加载项,在该对话框中,通过选择管理的COM加载项,转到COM加载项对话框中
2、启用你的addin项,如果启用成功,那么你幸运了,也可以到此结束了,不然就要走下面几步
3、运行regedit注册表编辑程序,找到HKCUSoftwareMicrosoftVSTASolutions,删除你那项的addin
4、运行第2步,还不行,走下面这一步
5、运行regedit注册表编辑程序,找到HKCUSoftwareMicrosoftVSTOSolutionMetadata,删除你那项的addin,并清除相应的guid项
6、运行第2步,不行,在Visual Studio重新生成你addin,然后调试,这样一般都可以了,还不行,就google吧,祝你好运
另外有个要注意的地方就是HKEY_CURRENT_USERSoftwareMicrosoftOfficePowerPoint,后面的PowerPoint可以为word,publisher等,具体的addin的配置信息都可以从这里找到
第三方软件进行清理:
利用超级兔子、优化大师、安全卫士一系列的第三方软件清理,下面小编就以金山卫士为例,打开主界面,找到垃圾清理-清理注册表,开始扫描清理即可,金山卫士会自动把注册表备份,就不用我们在单独备份了,要是出了问题也容易恢复。
我就是用的安全卫士一次性清理掉了无用的注册表之后,ppt加载addin就成功了,也成功发布了安装文件。
好了今天就先分享到这里,如果有小伙伴对我开发这个导航过程有兴趣的话,我也可以做成教程和大家进行分享。