2011-08-23 43 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」 - 它工作。謝謝! –

相關問題