【问题标题】:WPF/VB6 interop not recognizing RibbonControlsLibraryWPF/VB6 互操作无法识别 RibbonControlsLibrary
【发布时间】:2011-10-18 18:35:50
【问题描述】:

我正在开发一个项目,该项目要求我们通过 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 组件的差异足以导致这种行为吗?

【问题讨论】:

  • VB6 和 WPF 之间的互操作值得麻烦吗?为什么不直接用纯 WPF 重写?
  • 总的来说我同意。然而,在我们目前的情况下,我们面临着时间不足、资源匮乏以及顽固的用户群的完美风暴,他们不惜一切阻止改变发生的机会。

标签: c# .net wpf vb6 ribboncontrolslibrary


【解决方案1】:

这里的问题毕竟不是程序集绑定问题。无论出于何种原因,当 VB6 通过 .NET COM 互操作类访问该库时,似乎无法识别 RibbonButton 的 SmallImageSource 属性。在我的情况下,这个属性不是必需的,所以删除它解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多