我需要將一些傳統的32位代碼(我沒有源代碼)集成到項目中,以便可以從64位.NET程序集中調用它。原始代碼是作爲DLL中的32位COM對象實現的。 Windows不允許從64位到32位的對象進行直接調用,所以我正在尋找如何處理這種情況的靈感。64位到32位Interop - 如何?
如何從64位.NET程序集訪問傳統的32位COM對象?
更新:我們發現COM組件本身就是一些ANSI C的包裝,我們可以爲其創建源代碼。我們可以在Visual Studio中將它編譯爲本地64位dll,並將其導入到.NET中 - 對不起,移動了門柱!
評論,因爲我沒有這樣做,但你需要確保你運行COM對象作爲進程外服務器。如果您將它加載爲進程內,它將以64位運行,這將失敗。 – 2009-05-17 18:09:42