Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Registry.CurrentUser为空_C#_.net_Registry - Fatal编程技术网

C# Registry.CurrentUser为空

C# Registry.CurrentUser为空,c#,.net,registry,C#,.net,Registry,我正在使用以下属性设置/读取代码中的注册表值。然而,在这一行中: RegistryKey regKey = Registry.CurrentUser; regKey为空。这只发生在少数机器上。有什么想法吗 RegistryKey regRPP = Registry.CurrentUser.CreateSubKey(@"Software\Softech\FaceReader"); //这是它将创建的路径 regRPP.SetValue("FaceReaderURL", "http://loca

我正在使用以下属性设置/读取代码中的注册表值。然而,在这一行中:

RegistryKey regKey = Registry.CurrentUser;
regKey为空。这只发生在少数机器上。有什么想法吗

RegistryKey regRPP = Registry.CurrentUser.CreateSubKey(@"Software\Softech\FaceReader");
//这是它将创建的路径

regRPP.SetValue("FaceReaderURL", "http://localhost/pnm/v4_spp/");
//这是它将创建的路径

regRPP.SetValue("FaceReaderURL", "http://localhost/pnm/v4_spp/");

可能是权限问题-运行应用程序的登录用户可能没有读取注册表的权限,因此它返回null?如果在Windows 7上运行,请尝试要求用户以管理员身份运行应用程序(右键单击->以管理员身份运行),看看这是否有帮助。否,是Windows Xp,我也尝试过以管理员用户身份模拟。仍然有错误。你说它发生在“少数机器”-什么机器?全部XP?可能是64位问题?我们需要找到所有这些机器的共同点,以获得良好的潜在客户。如果当前用户(!)无法访问HKEY_current_用户配置单元,这似乎很奇怪。很多(甚至非管理员)应用程序都无法工作。通过反射器查看,似乎
CurrentUser
是由
new
-指令直接初始化的,因此它几乎不可能为
null
。静态ctor中的某个地方更可能出现异常。可能是权限问题-运行应用程序的登录用户可能没有读取注册表的权限,因此它返回null?如果在Windows 7上运行,请尝试要求用户以管理员身份运行应用程序(右键单击->以管理员身份运行),看看这是否有帮助。否,是Windows Xp,我也尝试过以管理员用户身份模拟。仍然有错误。你说它发生在“少数机器”-什么机器?全部XP?可能是64位问题?我们需要找到所有这些机器的共同点,以获得良好的潜在客户。如果当前用户(!)无法访问HKEY_current_用户配置单元,这似乎很奇怪。很多(甚至非管理员)应用程序都无法工作。通过反射器查看,似乎
CurrentUser
是由
new
-指令直接初始化的,因此它几乎不可能为
null
。静态ctor中的某个地方发生异常的可能性更大。如果
Registry.CurrentUser
真的是
null
(正如OP所说),第一个语句将抛出
NullReferenceException
。有趣的是,它没有抛出异常,而且它工作正常。令人惊讶的如果
registry.CurrentUser
确实是
null
(正如OP所说)第一条语句将抛出一个
NullReferenceException
,它将自动创建注册表路径。有趣的是,它没有抛出异常,它成功了。令人惊讶的它将自动创建该注册表路径