gpt4 book ai didi

.net - 为什么 OpenSubKey() 在我的 Windows 7 64 位系统上返回 null?

转载 作者:行者123 更新时间:2023-12-03 11:20:35 26 4
gpt4 key购买 nike

当 32 位注册表项在注册表中的 Wow6432node 下时,OpenSubKey() 和其他 Microsoft.Win32 注册表函数是否在 64 位系统上返回 null?

我正在开发一个单元测试框架,它从 .NET 库中调用 OpenSubKey()。

我的开发系统是带有 Visual Studio 2008 的 Windows 7 64 位环境安装了 SP1 和 Windows 7 SDK。

我们正在单元测试的应用程序是一个 32 位应用程序,因此注册表在 HKLM\Software\Wow6432node 下虚拟化。 .当我们调用:

Registry.LocalMachine.OpenSubKey( @"Software\MyCompany\MyApp\" );

返回 Null,但明确说明查看此处有效:
Registry.LocalMachine.OpenSubKey( @"Software\Wow6432node\MyCompany\MyApp\" );

据我了解,此功能应该与 32 位或 64 位环境无关,并且应该知道跳转到虚拟节点。

更奇怪的是,在我们的应用程序的编译和安装版本中,完全相同的调用在同一系统上运行得很好,并且正在获取运行所需的注册表项;也被放置在 HKLM\Software\Wow6432node .

我该怎么办?

最佳答案

听起来您的单元测试项目编译为 64 位。在 Compile设置您的单元测试项目,将“ objective-c PU”设置为 x86 (而不是 AnyCPU )。

关于.net - 为什么 OpenSubKey() 在我的 Windows 7 64 位系统上返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2464358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com