2011-12-26 34 views
2

我有以下問題:NGEN x86與x64與.NET可執行文件

我的.NET程序集是以x86模式編譯的。我還可以在x64 Windows系統上利用NGEN的性能優勢嗎? x86組件會被編譯爲x64上的本地代碼嗎?

+0

您必須在特定目標平臺上使用NGEN,但是......當然 - 爲什麼不呢?注意:NGEN只會減少JIT ...在某些情況下會有所幫助,但不是魔術表演的子彈。 – 2011-12-26 21:22:10

+0

根據架構,是否需要運行不同的NGEN版本?或者有一個普遍的? – SharpAffair 2011-12-26 21:24:42

+0

說實話:不知道。 – 2011-12-26 21:29:39

回答

4

使用x86編譯的程序集將在64位系統上運行i wow64,但與AnyCPU複製的程序集將本機運行,而不管NGEN如何。爲x86編譯的程序集可以在64位系統上加載32位程序集,並且爲AnyCPU編譯的代碼不會加載32位dll。

當您使用NGEN時,您將避免JIT編譯程序集,並且在x64系統上使用x86編譯時,程序集將成爲本機x86代碼。