2017-03-14 4 views
2

Visual Studio 2017は、すべてのSKU(エンタープライズ、プロフェッショナル、コミュニティ)の説明がレジストレーションなしで並んでインストールされるようになったことを知っています。プログラムでVS2017 MRU(Most Recently Used)ソリューションとプロジェクトを見つける

VS2017 Most Recently Used(MRU)ソリューションとプロジェクトのリストにアクセスする必要があります。

以前のVS2017バージョンでは、レジストリにクエリを実行しました。

    それはVS2017のdevenvをプロセス内から実行されている場合、このレジストリクエリのコードはまだ正常に動作している
  • しかしそれは、スタンドアロン/カスタムプロセスで実行された場合、それはもはや機能していない(私は、プロセスを意味しますそれはVS2017 devenvプロセスではありません)これは私たちが行うべきことですです。

これはVS setup APIから行うのが理想ですが、サンプルコードが見つかりません。エルス

このVS 2017 breaking change articleで説明したように、我々はまだRegLoadAppKey()機能に頼ることができ

(任意のコードが歓迎されている)または多分それを行うには、別のAPIはありますか?あなたの助けのための

おかげで、

答えて

4

VS 2017の設定にアクセスするための推奨方法は、External Settings Managerを使用することです:

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をプロジェクトに追加します。

+0

このコードとレスポンスのために非常にRadamesありがとうございます。 –

関連する問題