Visual Studio 2017現在將設置存儲到位於用戶visual studio appdata中的Hive文件中。文件名是privateregistry.bin。C#.net閱讀Visual Studio 2017 privateregistry.bin文件
是否可以使用C#.net動態讀取文件?
Visual Studio 2017現在將設置存儲到位於用戶visual studio appdata中的Hive文件中。文件名是privateregistry.bin。C#.net閱讀Visual Studio 2017 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是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
嗨,這是一種手動的做法。但我需要使用C#.net動態地點擊菜單。 –
我昨天更新了我的答案。請參閱我的編程方法來讀取/寫入privateregistry.bin。 –
嗨,亞姆獲取「資源鎖定」錯誤消息。我認爲我們無法在使用此方法打開Visual Studio時讀取文件。我想爲VSIX包實現這個功能,所以Visual Studio必須打開。 –