Deutsch

​Шаблоны проектов.

197  
Murr патриот11.01.18 13:50
Murr
11.01.18 13:50 

Шаблоны проектов.


Выпало пару-тройку дней на раскачку и Я решил поковырятся в шаблонах проектов.

Все одно надо будет делать, да и так уже надоело в ручную создавать пары - длл + тестс.длл.


Шаблончик - сделал.

Второй шаблончик - тоже сделал.

Скомпоновать пару в один шаблон - тоже сделал...


А вот как начал лепить производную ИВизард - все пошло на перекосяк...


Ладушки - выкинул все и начал с чистого листа.

Первый шаблон - без проблем, второй шаблон - без проблем... общий инсталлятор - тоже создался...


А дальше - тупик. Как добавить ОДИН шаблон в инсталлятор - знаю, никаких проблем...

А как добавить второй? Пробовал - не работает. Т.е. все собирается, но отрабатывает только

один шаблон.


Для одного проекта все просто - есть в корне зипованного шаблона файлик *.VSTemplate

В этом файлике прописано - VSTemplate->TemplateContent->Project

и там список чего и куда складывать при построении проекта.


Для двух и более проектов - тоже не сложно - VSTemplate->TemplateContent->ProjectCollection->[ProjectTemplateLink]*

А вот где в Студии надо указывать что проектов больше одного - не нашел...

Ну да - могу прописать руками...


Второй момент который не понимаю.

Добавляю код - имплементацию ИВизард. Сам код - примитивный, никакого интереса не представляет.

По условиям его применения надо прописать использование в VSTemplate->WizardExtension


Ну и куда же его прописывать? Шаблонов - ДВА. Код должен работать ДО активной фазы генерации

и быть одним на оба шаблона. Т.е. в один из шаблонов - не правильно. А куда? Тот VSIX,

в котором упоминаются оба шаблона, никакого местечка для ссылки на Визард не имеет... да и не

должен вроде...


В общем, вопрос получается такой:

- Как создать шаблон солюшена, на два и более проектов, и прикрутить к нему активный код?


Разумеется - средствами Студии. Руками вроде как понятно что делать...


Да, еще вопросик - для использования шаблонов генерируется 10 ГУИДов. Куда деваться если надо генерировать больше 10 проектов? безум



#1 
Murr патриот11.01.18 13:54
Murr
NEW 11.01.18 13:54 
в ответ Murr 11.01.18 13:50

Да, забыл...


Прописывал Я два шаблона в vstemplate и собирал ЗИПу - все отрабатывало.

Студия, однако, собирать шаблон из двух шаблонов совершенно не хочет -

ругается на длину чего-то меньше нуля. в таргетсах...

Насколько Я понял - ругается на отсутствие "Proect"

и не обрабатывает "ProjectCollection".


Об билли мне сказать или кто еще об это спотыкался?


#2 
Murr патриот12.01.18 11:39
Murr
NEW 12.01.18 11:39 
в ответ Murr 11.01.18 13:54

Блин, как это заставить компилироваться?


Качество продуцируемого кода - не интересует. Интересует - чтобы компилировалось, деплоилось и порождало два проекта в солюшене...

#3 
Murr патриот12.01.18 16:12
Murr
NEW 12.01.18 16:12 
в ответ Murr 12.01.18 11:39

Странно... У ИВизард для есть метод:

public void RunStarted(

object automationObject,

Dictionary<string, string> replacementsDictionary,

WizardRunKind runKind,

object[] customParams)

{

}


где WizardRunKind может иметь значение IsMultiProject.


Вот только нефига не получается собрать этот мулти-проэкт-темплате в Студии... хммм


#4 
Murr патриот12.01.18 17:35
Murr
NEW 12.01.18 17:35 
в ответ Murr 12.01.18 16:12

Век живи - век учись...


Кому интересно - решение проблемы мулти-проект-шаблона

https://blog.tonysneed.com/2011/09/14/build-a-multi-projec...


<Content>
<Assembly AssemblyName="RestTemplateWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c9a76f51a8a9555f">ProjectTemplates\WCF\RestTemplateWizard.dll</Assembly>
<ProjectTemplate>ProjectTemplates</ProjectTemplate>
</Content>

Так тупо...

#5