2013-06-24 19 views
2

我包括Olectra圖表,第三方圖形包,到VB.Net項目,但我有以下警告困擾: -引用嵌入的互操作組件,再次

VBC:警告BC40059:由於間接引用了來自程序集「AxInterop.OlectraChart2D」的程序集 ,因此創建了嵌入interop 程序集「Interop.OlectraChart2D」的參考。考慮 更改任一程序集上的「Embed Interop Types」屬性。

VBC:警告BC40059:一個參考是因爲間接參照 該組件從程序集「MyClassLibrary」創建嵌入的互操作 組件「Interop.OlectraChart2D」。考慮在任一程序集上更改'嵌入 Interop Types'屬性。

這些似乎阻止了必要的dll文件被列入bin目錄,導致在運行時異常。

編輯:異常從而: -

System.IO.FileNotFoundException:未能加載文件或組件 「Interop.OlectraChart2D,版本= 6.0.0.0,文化=中性 公鑰=空'或它的一個依賴關係。系統不能 找到指定的文件。文件名:「Interop.OlectraChart2D, 版本= 6.0.0.0,文化=中立,公鑰=空」

我注意到給出herehere答案,並在試圖Embed Interop Types值的所有可能的組合屬性面板爲AxInterop.OlectraChart2DInterop.OlectraChart2D,但它們都不會清除警告而不會產生編譯錯誤。

包括在不同的解決方案的項目帶來了不同的警告: -

COM參考「OlectraChart2D」是對ActiveX 控制「AxOlectraChart2D」互操作程序集,但被標記爲編譯器 與鏈接/鏈接標誌。此COM參考將被視爲參考 ,並且不會被鏈接。

但輸出bin目錄沒問題。

我可以通過將dll複製到其他解決方案的bin目錄中來清除運行時異常,但這看起來並不正確。有誰知道我應該怎麼做才能正確解決這個問題?

+0

警告是良性的,當然不是。你完全忘了記錄它的樣子。很明顯,您應該使用供應商的支持渠道來尋找有關此特定ActiveX控件的幫助。考慮.NET圖表控件作爲替代品,沒有麻煩。 –

+0

@HansPassant,謝謝你的提示。我正在給.NET圖表留下深刻的考慮,因爲看起來Olectra供應商已經去了天空的Great Software House。 –

回答