VSTO: 如何在已安裝vs2022和office2021的電腦上開發(fā)低版本插件
最近遇到個問題,自己在vs2022上開發(fā)的vsto插件放office2013環(huán)境下安裝會報錯:
最常見的報錯有:
特定版本.net framework未安裝
值不在預(yù)期范圍內(nèi)
第一個問題好解決,只要在目標(biāo)電腦上安裝對應(yīng)的.net framework運(yùn)行時(office2013一般為4.0版本框架,office2016一般為4.5)
第二個問題則要從開發(fā)的源頭解決了。

下面以在office2021以及vs2022環(huán)境下開發(fā)office2013插件為示例:
我們都知道,vs2022不再支持.net framework4.0~4.5.1,所有明著來是不行的。
咱可以暗著來~
步驟1.
已有熱心的網(wǎng)友開發(fā)了一鍵安裝的工具
開源地址:https://github.com/MrXhh/VSTools
下載后關(guān)閉vs(如果打開著)并且以管理員身份運(yùn)行即可
重新打開vs,在?解決方案資源管理器右鍵項目->屬性?便可看到:

?選擇.net framework4
步驟2.(有爭議)
在生成事件的生成前事件命令行里面加入如下語句,如圖:

?ChatGPT: 命令將在注冊表中的"HKCU\Software\Microsoft\Office\15.0\Common\General"路徑下創(chuàng)建或修改一個名為"ShownFirstRunOptin"的鍵,并將其值設(shè)置為1。這個鍵值對的作用可能是控制Office應(yīng)用程序在首次運(yùn)行時是否顯示首次運(yùn)行選項
但是很神奇,在加了這個語句之后開發(fā)出來的vsto插件就不會報錯了。我的猜想是在裝了office2021的電腦上模擬裝了office2013,這樣生成出來的vsto插件即可適配office2013
參考文章:
https://www.cnblogs.com/liweis/p/17013637.html