.NET app.config问题

时间:2009-01-12 20:47:49

标签: .net excel configuration

我创建了一个使用CLR 2.0的Excel 2003加载项,这个加载项将安装在我客户网站的数百台计算机上。问题是安装了加载项的某些机器并行运行.NET 1.1和.NET 2.0,并且插件在尝试加载时会抛出错误。

我遇到的解决方案是在excel.exe所在的同一文件夹中创建一个excel.exe.config文件,该文件将supportedRuntime版本设置为v2.0.50727。

因为这个解决方案在我的情况下不能很好地扩展(因为加载项将在数百台用户甚至无法创建配置文件的机器中使用),我想知道是否可以添加我的插件app.config文件中的supportedRuntime参数相同,它可以工作。

如果这不起作用,你们知道我还能做些什么吗?

2 个答案:

答案 0 :(得分:1)

您收到的错误消息是什么?

Office 2007中不应出现您所描述的问题。但是,对于Office 2003中所谓的共享加载项(基于Extensibility.IDTExtensibility2接口使用COM互操作性的.NET加载项),这是一个已知问题。

Microsoft发布了一个补丁,应该为使用该加载项的每个用户安装补丁。你可以在这里获得补丁:

  

http://support.microsoft.com/kb/908002

使用配置文件的解决方案是一个非标准的解决方案,但也应该解决问题,如下文所述:

  

http://nielsvanvliet.com/excel.html#Patch

如果要使用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包来推出这个配置文件或将它添加到启动脚本中?