最近遇到个问题,自己在vs2022上开发的vsto插件放office2013环境下安装会报错:
最常见的报错有:
- 特定版本.net framework未安装
-
值不在预期范围内
第一个问题好解决,只要在目标电脑上安装对应的.net framework运行时(office2013一般为4.0版本框架,office2016一般为4.5)
第二个问题则要从开发的源头解决了。
下面以在office2021以及vs2022环境下开发office2013插件为示例:
我们都知道,vs2022不再支持.net framework4.0~4.5.1,所有明着来是不行的。
咱可以暗着来~
步骤1.
已有热心的网友开发了一键安装的工具
下载后关闭vs(如果打开着)并且以管理员身份运行即可
重新打开vs,在 解决方案资源管理器右键项目->属性 便可看到:
选择.net framework4
步骤2.(有争议)
在生成事件的生成前事件命令行里面加入如下语句,如图:
reg add "HKCU\Software\Microsoft\Office\15.0\Common\General" /v "ShownFirstRunOptin" /t REG_DWORD /d 1 /f
ChatGPT: 命令将在注册表中的"HKCU\Software\Microsoft\Office\15.0\Common\General"路径下创建或修改一个名为"ShownFirstRunOptin"的键,并将其值设置为1。这个键值对的作用可能是控制Office应用程序在首次运行时是否显示首次运行选项
但是很神奇,在加了这个语句之后开发出来的vsto插件就不会报错了。我的猜想是在装了office2021的电脑上模拟装了office2013,这样生成出来的vsto插件即可适配office2013
参考文章:https://www.cnblogs.com/liweis/p/17013637.htmlhttps://www.cnblogs.com/liweis/p/17013637.html