我正在做一个项目,该项目要求我们通过COM互操作项目从VB6应用程序启动.NET 4 (C#)/WPF窗口。WPF窗口包含对Microsoft Ribbon for WPF组件(RibbonControlsLibrary.dll,包含在.NET互操作项目中作为依赖项)的引用。当从.NET测试客户端打开窗口时,一切正常,但是当从VB6打开窗口时,我在功能区实例化期间得到一个XamlParseException。进一步的调试表明,尽管窗口已成功复制到互操作项目的输出目录中,但由于找不到RibbonControlsLibrary.dll,窗口无法进行分析。从窗口的XAML定义中删除Ribbon声明将使其能够从.NET和VB6成功启动。
这个特定的VB6项目有几个相应的.NET互操作项目,它们以这种方式引用纯.NET组件,没有任何问题。RibbonControlsLibrary组件有什么不同,足以导致这种行为?
发布于 2011-10-20 04:05:44
这里的问题毕竟不是程序集绑定问题。无论出于什么原因,当VB6通过.NET COM互操作类访问库时,似乎无法识别RibbonButton的SmallImageSource属性。在我的例子中,这个属性不是必需的,所以删除它就解决了问题。
https://stackoverflow.com/questions/7812018
复制相似问题