2011-08-23 3 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에서 프로젝트를 열고 다음 다음 다시 컴파일 Platform targetAny CPU에 변경 Properties > Build로 이동합니다. 귀하의 플랫폼 대상이 x86이고 64 비트 버전의 Windows에서 실행되고 있다고 생각됩니다.

레지스트리의 Wow6432Node 지점이 당신을 언제나 얻을 것입니다 :

+0

1. 프로젝트 플랫폼은 이미 "모든 CPU"입니다. –

+0

2. 죄송합니다. "Wow6432Node"가 어떻게 도움이되는지 이해할 수 없습니까? 설명해 주시겠습니까? –

+0

"SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319 \ AssemblyFoldersEx"를 "SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319 \ AssemblyFoldersEx"로 바꿨습니다. 작동합니다. 감사! –

관련 문제