Я хотел бы создать визуальное студийное решение с шаблоном проекта.
Контекст:
Шаги, которые я должен продолжать выполнять, отнимают много времени, и я хочу, чтобы он просто сделал это для меня:
- Я создаю новый веб-проект
- Я устанавливаю последнюю версию пакета
- Я устанавливаю последнюю версию другого пакета
- Я устанавливаю последнюю версию другого пакета
- Я добавляю несколько файлов (всего 3), в которых мне нужно только изменить имя. Например, файл readme, содержащий MyProject.Something, должен быть изменен на AClient.ClientName
- Я изменяю csproj на подстановочные знаки вместо включения определенных файлов
- Я изменяю строку подключения в web.config на ClientName, а не на ту, которая идет из установленного пакета nuget
...
и т. Д. И т. Д.
Вопрос:
Можно ли сделать вышеперечисленное с помощью мастера шаблонов проектов?
Возможно, имеет отношение к тому, чего я хочу достичь / примечания:
- Я видел кое-что упомянутое о CustomParameters для шаблонов проектов: https://docs.microsoft.com/en-us/visualstudio/extensibility/customparameters-element-visual-studio-templates?view=vs-2017, но при использовании шаблона проекта это не похоже на то, что даст вам возможность ввести значения для пользовательских параметров, которые вы хотите использовать в своем шаблоне. шаблон проекта. Например, мне нужно иметь пользовательский параметр для «DatabaseName», который будет заполнять web.config $ databasename $.
- Я также не мог понять, как заставить его использовать последнюю версию пакета, а не ту, которую я предоставляю в шаблоне, который я экспортирую. Загружаемый мной пакет обновляется, и когда я создаю новый проект из этого шаблона, мне бы хотелось, чтобы он установил самый современный пакет ... или один, который я определяю с пользовательским параметром, если это возможно.
Компромисс:
Любая помощь будет отличной! Я не против создать консольное приложение для этого, если это то, что нужно. Я должен делать это примерно 10 раз в неделю, и так делают еще 5 разработчиков или около того, и нам безумно продолжать делать одно и то же снова и снова.
(см. Связанный вопрос: Не разрешено запускать FindPackagesById в URL-адресе частного хранилища - Nuget )