2017-06-15 102 views

回答

1

您需要安裝nuget包OffregLib。然後你就可以打開privateregistry.bin和遍歷其內容是這樣的:

using (OffregHive hive = OffregHive.Open(@"D:\Daten\VisualStudio2017\2\privateregistry.bin")) 
{ 
    string fullName = hive.Root.FullName; 
    OffregKey ork = hive.Root.OpenSubKey(@"Software\Microsoft\VisualStudio"); 

    foreach(SubKeyContainer key in ork.EnumerateSubKeys()) 
    { 
    System.Console.WriteLine(key.Name); 
    } 
} 

OffregLib是C#-bridge由Offline Registry Library (offreg.dll)

提供的功能請注意,類Microsoft.Win32.Registry .NET的不允許從磁盤打開任意配置單元文件。這是隻能用Offline Registry Library (offreg.dll)

如果你想有很好的用戶界面來查看privateregistry.bin的內容,你可以使用regedit.exe。您需要選擇HKEY_USERS節點,然後單擊文件>加載配置單元...菜單。您選擇privateregistry.bin文件,爲該配置單元命名(我輸入了「VS2017PrivateRegistry」),現在您可以像往常一樣查看15.0_Config密鑰(注意:完成時使用File> Unload Hive)。 Visual Studio Extensibility (VSX)

位置privateregistry.bin的(VS2017):

C:\用戶\用戶\應用程序數據\本地\微軟\ VisualStudio的\ 15.0_c96087d0 \ privateregistry.bin

+0

嗨,這是一種手動的做法。但我需要使用C#.net動態地點擊菜單。 –

+0

我昨天更新了我的答案。請參閱我的編程方法來讀取/寫入privateregistry.bin。 –

+0

嗨,亞姆獲取「資源鎖定」錯誤消息。我認爲我們無法在使用此方法打開Visual Studio時讀取文件。我想爲VSIX包實現這個功能,所以Visual Studio必須打開。 –