2011-03-03 59 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