4

我知道 Visual Studio 2017 现在支持所有 SKU(企业版、专业版和社区版)的无注册并排安装。

我们需要访问 VS2017 最近使用 (MRU) 解决方案和项目的列表。

对于以前的 VS2017 版本,我们曾经为此查询注册表。

  • 当它从 VS2017 devenv 进程内部运行时,此注册表查询代码仍然可以正常工作,
  • 但是当它在独立/自定义进程(我的意思是不是 VS2017 devenv 进程的进程)中执行时它不再工作,这就是我们需要做的

理想情况下,这可以通过VS 设置 API完成,但我找不到任何示例代码。

否则,我们仍然可以依赖RegLoadAppKey()函数,如VS 2017 重大更改文章中所述(欢迎使用任何代码)

或者也许有另一个 API 可以做到这一点?

谢谢你的帮助,

4

1 回答 1

6

访问 VS 2017 设置的推荐方法是使用外部设置管理器

ExternalSettingsManager ext = ExternalSettingsManager.CreateForApplication(@"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe");
SettingsStore store = ext.GetReadOnlySettingsStore(SettingsScope.UserSettings);
foreach (string name in store.GetPropertyNames(@"MRUItems\{a9c4a31f-f9cb-47a9-abc0-49ce82d0b3ac}\Items"))
{
    string value = store.GetString(@"MRUItems\{a9c4a31f-f9cb-47a9-abc0-49ce82d0b3ac}\Items", name);
    Console.WriteLine("Property name: {0}, value: {1}", name, value);
}

要使用外部设置管理器,您需要在项目中添加对 Microsoft.VisualStudio.Settings.15.0.dll 的引用。

于 2017-03-15T19:34:42.367 回答