我正在开发一个项目,该项目要求我们通过 COM 互操作项目从 VB6 应用程序启动 .NET 4 (C#)/WPF 窗口。WPF 窗口包含对 Microsoft Ribbon for WPF 组件(RibbonControlsLibrary.dll,作为 .NET 互操作项目中的依赖项)的引用。从 .NET 测试客户端打开窗口时一切正常,但是从 VB6 打开窗口时,我在功能区实例化期间收到 XamlParseException。进一步的调试表明该窗口无法解析,因为它无法找到 RibbonControlsLibrary.dll,尽管它已成功复制到互操作项目的输出目录。从窗口的 XAML 定义中删除功能区声明允许它从 .NET 和 VB6 成功启动。
这个特殊的 VB6 项目有几个相应的 .NET 互操作项目,它们以这种方式引用纯 .NET 组件,完全没有问题。RibbonControlsLibrary 组件有什么不同,足以导致这种行为?