2011-08-23 44 views
0

我试图从文件夹“HKLM \ SOFTWARE \ Microsoft.NETFramework \ v4.0.30319”中读取注册表项 文件夹包含两个密钥SKU和AssemblyFoldersEx。第一个密钥成功获得,但第二个失败(返回null)。无法读取密钥HKLM SOFTWARE Microsoft .NETFramework v4.0.30319 AssemblyFoldersEx

如何解决这个问题?

C#代码:

class Program 
{ 
    static void Main(string[] args) 
    { 
     Microsoft.Win32.RegistryKey rkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs", false); // success 
     Microsoft.Win32.RegistryKey rkey2 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", false); // failed (returns null) 
    } 
} 

回答

1

在VS打开项目,然后去Properties > Build然后更改Platform targetAny CPU然后重新编译。我怀疑你的平台目标是x86,而你正在64位版本的Windows上运行。

Wow6432注册表的Wow6432Node分支将为您带来每一次:)

+0

1.编号项目平台已经是“任何CPU”。 –

+0

2.对不起,我不明白“Wow6432Node”如何帮助我?你能解释一下吗? –

+0

我用“SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319 \ AssemblyFoldersEx”替换了“SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319 \ AssemblyFoldersEx” - 它工作。谢谢! –

相关问题