1. 程式人生 > >45、C#編譯版本和資料庫連線問題

45、C#編譯版本和資料庫連線問題

1.anyCPU = x86 || x64

2.anyCPU版本的EXE啟動,根據系統來確定以x86還是以X64執行

3.x86執行的程式僅能載入x86的dll或anyCPU的dll;x64執行的程式僅能載入x64的dll或anyCPU的dll

4.x86的EXE只能以x86方式執行,可以在32位或者64位作業系統的機器上執行;x64的EXE只能以x64方式執行,只能在64位作業系統的機器上執行

5.如果oracle客戶端版本為32位,則專案只能x86方式編譯才能執行那段與oracle相連線的程式碼,因為x86的EXE僅能找32位相依賴的與oracle相關的dll;

   此時如果專案以anyCPU的方式編譯,最終因為電腦作業系統是64位的原因,將以x64的方式執行)(anyCPU的是根據作業系統來的決定以什麼樣的方式),此時僅能找到32位客戶端的與oracle相關的dll,這是無法相容執行的

6.如果oracle客戶端版本為64位,則專案只能以anyCPU的方式編譯,因為電腦作業系統為64位,所以以x64方式執行,就可以直接找到併兼容64位oracle客戶端相關組織。