【发布时间】:2011-11-22 22:00:47
【问题描述】:
我陷入了一个真正混乱的局面。
场景: 我有一个调用 .NET 4.0 库(通过 ExcelDna)的 Excel 自动化 VBA 加载项。这个 4.0 库调用了 2.0 混合模式库中的一些方法。因此必须将 'BindAsLegacyV2Runtime' 设置为 4.0 CLR。我在 4.0 库中设置了这个,当 excel 实例化这个库时,CLR 加载这个属性集并且一切正常。(参见这个link)。我无法修改 excel.exe.config,因为它在生产机器中被拒绝。
我从一个批处理文件启动 excel 进程并将我的插件加载为:
Start Excel.exe my4.0addin.xla
问题: 发现这在少数用户机器上不起作用并调查了这个问题,发现 excel 在加载作为参数传入的插件之前首先在机器中加载预安装的插件。 因此,在加载 4.0 加载项之前,excel 正在加载 2.0 CLR,因为有一些其他加载项。 因此属性设置失败,逻辑进行了折腾。
我无法修改 excel.exe.config(将属性添加到配置)或注册我的插件,因为这两者都需要用户计算机上的管理员权限,而这在我的环境中是不可能的。
因此,有没有办法控制 excel 加载插件或任何方式来完成这项工作?
【问题讨论】:
-
请与您的主管讨论此事,我们无法帮助您更改公司政策。
-
Hans - 你认为你的评论对世界上任何人都有用吗?
-
也许你在尝试了一个月但一无所获之后会更加感激它。时间会证明一切。
标签: .net excel vba clr excel-dna