我幾乎可以肯定,這是不可能的,但它值得一問...是否有可能強制在32位進程中運行的.NET dll像「64位進程一樣運行」?
我們有一個.NET DLL,從我們的VB6應用程序被調用。 VB6應用程序運行在一個32位的進程中,因此該DLL運行在相同的進程中(它被編譯爲任何cpu) 因此,當我在ODBC中訪問ODBC數據庫時,將僅使用32位驅動程序,因爲這是它認爲它需要(記錄數據庫是Pervasive PSQL)
當應用程序運行在64位計算機上(當只安裝64位ODBC驅動程序時),我的問題出現,因爲它無法找到合適的驅動程序使用。
那麼,有沒有辦法迫使.NET的DLL在64位進程中運行(編譯爲64不起作用,因爲COM互操作寄存器是不允許的)
這不一定是一個問題在這個時候,因爲我可以安裝32位驅動程序,但在將來的某個時間點,我可以想象,32位驅動程序可能無法使用,因此我將成爲衆所周知的小溪。
沒有道理,你忘記了另一條小溪。沒有VB6槳的那個。 – 2011-03-02 19:40:23
遠離VB6不是一種選擇,因爲可能需要3年的時間重寫代碼。 – 2011-03-03 09:02:07