我正在處理一個項目,該項目需要我們通過COM互操作項目從VB6應用程序啓動.NET 4(C#)/ WPF窗口。 WPF窗口包含對用於WPF組件的Microsoft Ribbon的引用(RibbonControlsLibrary.dll,作爲.NET interop項目中的依賴項)。當從.NET測試客戶端打開窗口時,一切正常,但是當它從VB6打開時,我在Ribbon的實例化過程中遇到XamlParseException。進一步的調試顯示該窗口無法解析,因爲它無法找到RibbonControlsLibrary.dll,儘管它已成功複製到互操作項目的輸出目錄中。從窗口的XAML定義中刪除Ribbon聲明允許它從.NET和VB6成功啓動。WPF/VB6互操作不識別RibbonControlsLibrary
這個特定的VB6項目有幾個相應的.NET互操作項目,它們以這種方式引用純.NET組件,完全沒有問題。那麼RibbonControlsLibrary組件的差異足以導致此行爲?
VB6和WPF之間的互操作是否值得麻煩?爲什麼不在純WPF中重寫呢? – CJ7
總的來說,我會同意。然而,在我們目前的情況下,我們有一個完美的風暴,沒有足夠的時間,很少的資源和頑固的用戶羣,在阻止它發生的所有機會中抵制變化。 – Jesse