Изменения в генераторе одиночных файлов в Visual Studio 2017

Я пытаюсь найти информацию об изменениях однофайлового генератора (особенно о том, как зарегистрироваться) в Visual Studio 2017. Любая помощь будет очень признательна.


person Alex I    schedule 08.03.2017    source источник
comment
У меня такая же проблема. В VS 2015 ключ реестра был HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ Gene‌ rators. Для VS 2017 нет эквивалента?!?   -  person Antineutrino    schedule 08.03.2017


Ответы (1)


Я думаю, что система регистрации почти такая же. Дополнительную информацию можно найти здесь

В Visual Studio 2017 параметры реестра хранятся в частных файлах реестра.

Это позволяет одновременно устанавливать несколько Visual Studio на одном компьютере.

Однако эти записи больше не доступны в файле глобального реестра.

Вот как открыть такой файл в regedit:

  • Закройте Visual Studio
  • Запустите Regedit.exe
  • Выберите узел HKEY_LOCAL_MACHINE
  • В главном меню выберите File -> Load Hive... и выберите файл частного реестра. Этот файл хранится в локальных данных приложения.

    %localappdata%\Microsoft\VisualStudio\<config>\privateregistry.bin

    где <config> соответствует кусту конфигурации, который вы хотите использовать

  • Он запросит имя, которое представляет имя, которое будет отображаться под (например, IsolatedHive)
  • Теперь у вас должна быть возможность просматривать реестр в созданном вами кусте.
  • Перед запуском Visual Studio его необходимо выгрузить: из главного меню File -> Unload Hive перед попыткой запуска VS (в противном случае regedit заблокирует файл, и Visual Studio не запустится)
person Adrian Vinca    schedule 08.03.2017
comment
Как это сделать в установщике? - person Alex I; 09.03.2017
comment
Кроме того, это расположение для каждого пользователя, где наш однофайловый генератор зарегистрирован для каждой машины. - person Alex I; 09.03.2017
comment
В этой документации объясняются критические изменения расширяемости в Visual Studio. 2017 и содержит руководство по переносу существующих расширений: - person Adrian Vinca; 09.03.2017
comment
@ alex-i До VS2017 я вручную устанавливал свой однофайловый генератор (который находится в проекте библиотеки классов C #), используя пакетный файл с командами REG. Теперь, когда реестр находится в частном улье (а путь к этому улью отличается в зависимости от установки VS), я изменил метод установки на VSIX. Если хотите, могу рассказать подробнее, как мне это удалось. - person harley.333; 15.03.2017
comment
@ harley.333, если у вас есть пример кода, я был бы очень признателен. - person Alex I; 15.03.2017
comment
@ harley.333, да, поделитесь. Ранее я отказался от установки единого генератора файлов в качестве VSIX, потому что VSIX не позволяют изменять параметры реестра или, как ни странно, запускать собственный код при запуске VS. - person Qwertie; 16.03.2017