首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

C#开发的Addin 在其它机器上提示"不是有效的Office加载项解决方案

2012-03-24 
C#开发的Addin 在其它机器上提示不是有效的Office加载项用v2008开发的.在开发的电脑上可以正常使用.但是

C#开发的Addin 在其它机器上提示"不是有效的Office加载项
用v2008开发的.在开发的电脑上可以正常使用.但是生成安装程序,把此安装程序安装到其它电脑或开发的这个电脑上后(安装时会提示要安装到什么地方).在outlook的可用加载项里不显示,我选择 添加 然后找到安装后的 .dll文件, 它提示说不是有效的OFFICE加载项.

[解决办法]
运行vs2008应用的机器必须安装 .NET 3.5 。

还要安装 Office 的 .NET 开发支持库。

这两者缺一不可。如果你安装 Office 时没有选择装上 .NET 开发支持库,就要去微软的网站下一个来装上或重装 Office。

[解决办法]
lz应该用的是VS2008集成的vsto 技术,不是vba吧,
如果是这样,除了.NET 3.5 以外,还要vsto runtime才能加载addin的
[解决办法]
.net 平台的addin有点特殊,他们都不是直接加载那个dll的,而是一个.net framework的一个运行时dll 叫mscoree.dll
你打开regedit/HKEY_CLASSES_ROOT搜索你的dll可以找到相关的注册信息,里面的载入一定时mscoree.dll,而你的dll只是一个assembly

这样有趣的事情就是你无法通过直接导入dll的方式安装addin,因为这个addin不再直接的导出IExtensibility2接口,也没有常见的DllRegisterServer/DllGetClassObject函数

对于这样的加载项,你也不能如以前的vb6的加载项一样通过找到dll并安装的方式进行安装。安装的唯一选择就是通过share addin工程提供的setup project来安装

[解决办法]
LS说的对,addin 的加载不只是选择那个dll 而已,还有在注册表的读取。
手动删掉后注册表相应值就删掉了

热点排行