2010-04-02 30 views
0

默認情況下,我的應用程序引用混合模式DLL,因此該DLL是32位和64位。在32位系統上,我的應用程序是MSIL並加載了32位DLL。在64位系統上,我的應用程序加載了64位。我可以使用AppDomain.AssemblyResolve事件重定向失敗的程序集加載嗎?

但是在64位系統中,在我引用的程序集的舊版本中,它們只創建了32位版本。所以我沒有加載這個。我正在考慮動態地做這件事,理想情況下,我希望我的MSIL應用程序在64位模式下加載32位DLL。這可能嗎?

此外它將是很好的解決它,以不同於我所引用的版本。

任何幫助表示讚賞。

回答

1

無法將32位DLL加載到64位進程中。 「任何CPU」程序集都可以工作,因爲JIT在執行之前處理IL編譯,創建適當類型的本地映像; CPU特定的程序集不支持對不同類型的JITing。

This is a Windows limitation,不是CLR限制。

相關問題