问题:
我继承了一个包含 4 件的解决方案。其中两个是用于数据库内容的 C# 项目。那里很容易。另外两个是网站。现在,一切都在配置管理器中设置为使用 AnyCpu。出于这个特定原因,我需要做的是将网站更改为 x86:
Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\<My Company>\<My Application>", false);
注意:<> 标记内的字面意思不是 My Company。我只是说我公司的名字。
经过一番研究,我了解到以下内容:
- 为“x86”编译的 .NET 应用程序:
- 始终为 32 位
- 在 32 位平台上,访问 32 位注册表
- 在 64 位平台上,访问 32 位注册表(在 Wow6432Node 内)
- 为“x64”编译的 .NET 应用程序:
- 始终为 64 位
- 在 32 位平台上,不会运行
- 在 64 位平台上,访问 64 位注册表(不在 Wow6432Node 内部)
- 为“AnyCpu”编译的 .NET 应用程序
- 32 位或 64 位,具体取决于平台
- 在 32 位平台上,访问 32 位注册表
- 在 64 位平台上,访问 64 位注册表(不在 Wow6432Node 内部)
所以,我需要的是能够为 x86 编译,因为该应用程序安装为 32 位,并将显示在 64 位操作系统上的 Wow6432Node 文件夹中。
我的问题:
网站最初设置后是否可以更改其目标平台?
我试过的:
- 在 VS 2010 中,转到 Build --> Configuration Manager。
- 在活动解决方案平台下:选择“新建...”
- 加入 x86 平台。
- 尝试将我的两个网站更改为 x86。
第 4 步是失败的地方。x86 不是一个选项。它在我的两个 C# 项目中显示得很好。这有可能改变吗?
非常感谢任何帮助或见解!