2009-02-11 101 views
3

我有一個默認爲32位的可執行文件。它沒有源代碼,我想在系統上保留32位和64位的框架。有沒有辦法讓該可執行文件在64位.NET框架上運行?如何使.NET可執行文件在64位框架上運行

+1

實際上,現在你提到你沒有源代碼,我必須補充說,讓它在64位.NET中運行可能不是一個好主意。它可能具有外部依賴性等。 – 2009-02-11 08:50:46

回答

4

使用corflags工具翻轉'64位是好的,如果有」標誌

blog post解釋了這個結合實例和一些進一步的鏈接。

如果你有源代碼重新編譯任何VS 2005和以上將允許你改變設置,使它願意運行爲64位。

0

你有源代碼還是隻有埃克?

如果你有源代碼,你可以把它編譯成64位, 如果你不能使用反射器,請獲取源代碼並重新編譯爲64位。

0

如果您的應用程序需要在32位和64位系統上運行,最好的方法是將編譯器配置爲強制以32位模式運行二進制文件。這將強制任何64位系統在32位仿真模式下運行您的應用程序。 (項目屬性 - >生成 - >目標平臺 - >「x86」而不是「任何CPU」)

否則,您必須提供兩個二進制版本的應用程序:一個32位二進制和一個64位二進制。

0

斯科特Hanselman的最近blogged這一點。

編寫託管代碼是不必擔心任何的x86 (32位)與64位(64位),細節不錯 方式。 編寫託管代碼,編譯,它會 無處不在。

因此,實際上,如果您爲「Any CPU」構建它,它應該自動在64位操作系統上以64位模式運行。但是,只有在所有代碼都被管理的情況下才能做到這一點。您應該閱讀博客條目以獲取詳細信息。

+0

我想它只針對x86編譯。 – 2009-02-11 08:48:44

相關問題