Visual Studio 2017 现在将设置存储到位于用户 Visual Studio appdata 中的 Hive 文件中。文件名为 privateregistry.bin。
是否可以使用 C#.net 动态读取文件?
最佳答案
您需要安装 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 是 Offline Registry Library (offreg.dll) 提供的功能的 C# 桥接器
请注意,.NET 的 Microsoft.Win32.Registry 类不允许从磁盘打开任意配置单元文件。这是只有 Offline Registry Library (offreg.dll) 才能完成的事情
如果你想有一个漂亮的 UI 来查看 privateregistry.bin 的内容,你可以使用 regedit.exe。您需要选择 HKEY_USERS 节点,然后单击 File > Load Hive... 菜单。您选择 privateregistry.bin 文件,为 hive 命名(我输入了“VS2017PrivateRegistry”),现在您可以看到像往常一样填充的 15.0_Config 键(注意:完成后使用 File > Unload Hive)。
Visual Studio Extensibility (VSX)
privateregistry.bin 的位置(VS2017):
关于C#.net 读取 Visual Studio 2017 privateregistry.bin 文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44561397/