VS 2019 Пользовательские шаблоны проектов ASP.NET Core - PullRequest
1 голос
/ 24 июня 2019

Я пытаюсь выяснить, как (или даже если) я могу создать собственный шаблон проекта Visual Studio, который подключается к существующему шаблону основного веб-приложения ASP.NET, доступному в Visual Studio 2019?

ЧтоЯ хочу сделать что-то похожее на madskristensens ASP.NET Core Template Pack ( Исходный код GitHub ).Однако вместо VS 2017 я хочу сделать это для обновленного окна VS 2019 «New Project Dialog».Итак, представьте, что вы добавляете дополнительный шаблон веб-приложения ASP.NET Core в месте, выделенном ниже.

New Web Application Dialog

Я могу создавать новые шаблоны проектов (оба дляVisual Studio и для dotnet new) но пока ничего не получалось.Кто-нибудь смог продлить VS 2019 таким образом или его забрали после VS 2017?

1 Ответ

0 голосов
/ 24 июня 2019

Проведя дополнительное расследование между VS 2017 и 2019 (Сообщество), я смог успешно это выяснить! Чувак, нам нужны какие-то документы по этому поводу, потому что это было похоже на унылость!

Мне удалось использовать пакет базовых шаблонов ASP.NET в качестве строительного блока для сборки чего-либо. Для тех, кто не знает, расширения предназначены для добавления шаблонов в Visual Studio с использованием файлов .nupkg, встроенных в расширение. Использование файлов .nupkg аналогично тому, как dotnet new работает с пользовательскими шаблонами . У меня есть рабочий прототип на GitHub , который поддерживает и Visual Studio 2017 и 2019.

Теперь, если вы похожи на меня, вы можете посмотреть либо на madskristensens, либо на мой проект и спросить: "Как, черт возьми, это работает !?" Отличный вопрос! Вот детали, которые у меня есть время, чтобы заполнить прямо сейчас:

  1. Создайте пользовательский шаблон (или шаблоны) и поместите их в *.nupkg файл (ы)
    • В моем примере мой SampleTemplates проект содержит три разных шаблона проекта. Я генерирую .nupkg с dotnet pack
  2. Файл vs-2017.3.host.json требуется в папке .template.config/, чтобы мастер веб-приложений ASP.NET мог отобразить шаблон.
    • Для отображения в мастере веб-приложений ASP.NET необходимо выполнить не менее 1 или более других требований, но я еще не понял, так как добавление файла в шаблон консольного приложения не вызывает его появляться. Я хочу попытаться выяснить это, хотя я хотел бы помочь, если кто-нибудь уже знает!
  3. Для template.json необходим символ Framework , чтобы определить список целей платформы .NET Core, которые поддерживаются шаблоном.
    • При некотором тестировании не выглядело, как будто символ Framework не заменял собой .csproj, поэтому в моем примере также есть символ TargetFrameworkOverride, который заменяет символ Framework.
  4. Поместите файл (ы) .nupkg в root проекта расширения VSIX и убедитесь, что для флага «Включить в VSIX» установлено значение True. Я подчеркиваю root, потому что изначально у меня была посылка пакета NuGet в папке build\ в моем расширении, и мои шаблоны не были подобраны.

Я попытаюсь собрать README в моем примере проекта, чтобы лучше описать все детали, необходимые для достижения этой цели. Скрестив пальцы, это помогает кому-то (или, по крайней мере, выручить меня в будущем, когда я неизбежно забуду, как мне это удалось)!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...