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);
  }
}

OffregLibOffline 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/

10-12 04:07