2011-03-03 81 views
0

在VS 2005和VS 2008中,我們在項目設置中有目標平臺選項。我想我知道這是什麼意思,就是我讀this article。從那裏引用:使用VS2003更改平臺目標

如果項目設置爲86,這意味着 該項目旨在運行 只能作爲32位進程。一個64位的 進程將無法調用作爲X86的 程序集集。將 設置爲x86的原因包括 對原生DLL的依賴關係,這些原生DLL只能在32位中使用,或者在使用32位時使 本地調用生效。 標記爲 x86的應用程序和程序集仍然可以在64位Windows上運行。 但是他們運行在WOW64下。 Visual 由於Studio是一個32位的 應用程序,因此Studio本身在此 模擬模式下運行。

我相信這正是我所需要的,所以如果在64位平臺上運行,我的程序將自動從WOW64讀取配置。

問題是這樣的:是否可以使用VS2003設置目標平臺?如果是,如何?

預先感謝您

+0

32位進程被重定向到HKLM \ Software \ Wow6432Node。用Regedit.exe看看吧 – 2011-03-03 13:14:55

回答

2

據我瞭解,VS2003面向.NET 1.1,這僅支持32個x86目標。請記住,第一個64位版本的Windows是在VS2003之後發佈的。

因此,您無法在VS2003上設置目標平臺,它總是以x86爲目標。

+0

謝謝。但是,這裏有一個問題:當我閱讀'Registry.LocalMachine.OpenSubKey(@「SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Time Zones」)時,看起來我希望軟件在運行時會從WOW6432Node讀取一個64位平臺。我能以某種方式做到嗎? – 2011-03-03 11:43:38

+2

註冊表重定向器將爲您處理。在99%的情況下,您只需對32/64位進程使用相同的密鑰名稱,並讓重定向器帶您到正確的位置。 – 2011-03-03 11:51:37