我创建了一个使用CLR 2.0的Excel 2003加载项,这个加载项将安装在我客户网站的数百台计算机上。问题是安装了加载项的某些机器并行运行.NET 1.1和.NET 2.0,并且插件在尝试加载时会抛出错误。
我遇到的解决方案是在excel.exe所在的同一文件夹中创建一个excel.exe.config文件,该文件将supportedRuntime版本设置为v2.0.50727。
因为这个解决方案在我的情况下不能很好地扩展(因为加载项将在数百台用户甚至无法创建配置文件的机器中使用),我想知道是否可以添加我的插件app.config文件中的supportedRuntime参数相同,它可以工作。
如果这不起作用,你们知道我还能做些什么吗?
答案 0 :(得分:1)
您收到的错误消息是什么?
Office 2007中不应出现您所描述的问题。但是,对于Office 2003中所谓的共享加载项(基于Extensibility.IDTExtensibility2接口使用COM互操作性的.NET加载项),这是一个已知问题。
Microsoft发布了一个补丁,应该为使用该加载项的每个用户安装补丁。你可以在这里获得补丁:
使用配置文件的解决方案是一个非标准的解决方案,但也应该解决问题,如下文所述:
如果要使用MSI安装程序部署加载项,则应检查 Microsoft .NET Framework 2.0的共享加载项支持更新(KB908002)作为属性的先决条件安装项目。请注意,此修复程序只能为当前用户安装,即应禁用ALLUSERS设置。
更新:VS 2008的安装有点复杂。见这里:
Can a .NET Word 2003 add-in be installed outside of the GAC?
答案 1 :(得分:0)
好吧,如果有数百台机器,我认为有适当的组策略或其他运行管理脚本或设置文件的方法。也许你可以创建一个小的MSI包来推出这个配置文件或将它添加到启动脚本中?