簡短的2個問題,在閱讀幾個主題/頁面後我找不到明確的答案。如何處理32位和64位環境之間的Interops?
如果我複製了一些互操作的dll到我的電腦,它的建立到AnyCpu(使用.NET反射檢查),如果我要引用到它的應用程序構建64位(現在我得到一個例外) - 註冊爲64位就夠了(有regasm) - 或者我們不註冊interops - 只有COM的?
如果我有互操作DLL - 我可以得到原來的COM爲其創建了互操作(這對於創建另一個互操作,例如對於64位環境很有用)?
編輯:@大衛響應後,我檢查了多一個選擇,意想不到的是工作,但現在我不知道是什麼意思了討論和解決方案。任何人都可以幫助解決這個問題嗎?
我做什麼: 我跟着從here說明,現在從COM對象不與我的64位應用程序的工作!對所有對象手動執行此操作可能會非常棘手(其中有數百個對象) - 處理Interop的正確方法是什麼?
問候, jotbek
當您在.NET中創建一個要從COM應用程序使用的庫時,會使用'regasm',而不是在.NET中要使用COM庫時使用'regasm'。 – prprcupofcoffee
@大衛:謝謝我不知道。 – jotbek
雖然使用[DllSurrogate](http://msdn.microsoft.com/en-us/library/windows/desktop/ms691260(v = vs.85).aspx)確實解決了Bitness問題,但它的預期用途似乎隔離 - 保持COM DLL中的任何問題不影響主程序。 – prprcupofcoffee