我包括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,文化=中立,公鑰=空」
我注意到給出here和here答案,並在試圖Embed Interop Types
值的所有可能的組合屬性面板爲AxInterop.OlectraChart2D
和Interop.OlectraChart2D
,但它們都不會清除警告而不會產生編譯錯誤。
包括在不同的解決方案的項目帶來了不同的警告: -
COM參考「OlectraChart2D」是對ActiveX 控制「AxOlectraChart2D」互操作程序集,但被標記爲編譯器 與鏈接/鏈接標誌。此COM參考將被視爲參考 ,並且不會被鏈接。
但輸出bin
目錄沒問題。
我可以通過將dll複製到其他解決方案的bin
目錄中來清除運行時異常,但這看起來並不正確。有誰知道我應該怎麼做才能正確解決這個問題?
警告是良性的,當然不是。你完全忘了記錄它的樣子。很明顯,您應該使用供應商的支持渠道來尋找有關此特定ActiveX控件的幫助。考慮.NET圖表控件作爲替代品,沒有麻煩。 –
@HansPassant,謝謝你的提示。我正在給.NET圖表留下深刻的考慮,因爲看起來Olectra供應商已經去了天空的Great Software House。 –