Шаблоны Visual Studio - добавление дополнительных ранее существующих проектов
Я работаю над шаблоном Visual Studio, где сгенерированный проект опирается на ряд ссылок, которые являются другими проектами под контролем источника.
Вопрос в том, как установить это в моем шаблоне ProjectGroup? Например, если у меня есть уже существующий проект в "C:\Stuff\MyUtilityProject\Utility.csproj" с одним файлом (Tools.cs), который я хочу добавить в мой шаблон, как бы я это сделал?
Вот как выглядит мой vstempalte. FYI. У меня нет проблем с ProjectTemplateLink или созданием папки Solution, просто добавив уже существующий Utility.csproj к моему новому решению:
Спасибо заранее!
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
<TemplateData>
<Name>MySampleSolution</Name>
<Description>My Test Project</Description>
<ProjectType>CSharp</ProjectType>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Content">
<Project File="C:\Stuff\MyUtilityProject\Utility.csproj">
<ProjectItem>Tools.cs</ProjectItem>
</Project>
</SolutionFolder>
<ProjectTemplateLink ProjectName="MyWorkingTemplate">
MyWorkingTemplate\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
Ответы
Ответ 1
Единственным обходным решением, которое я знаю в Visual Studio 2010 (Ultimate), является создание проекта/решения из вашего шаблона, добавьте *. csсильных > файлов, а затем снова экспортировать решение, используя мастер экспорта шаблонов.
Для библиотеки вы можете создать шаблон элемента, а не шаблон проекта/решения - это позволяет добавить его с помощью добавить → новый элемент из контекста в проводнике решений Visual Studio.
Чтобы создать шаблон элементов, откройте свое решение, затем используйте Файл → Экспортировать шаблон... и выберите шаблон элемента в качестве экспорта, как только откроется диалоговое окно мастера.
Убедитесь, что флажок "импорт" установлен в мастере, иначе он не будет автоматически установлен после его создания.
Ответ 2
Вы можете разместить собственный фид NuGet (или использовать возможности NuGet TeamCity или частный MyGet feed. Тогда вам просто нужно упаковать ваш проект утилиты в виде пакета NuGet и добавить его в шаблон проекта, как описано здесь: http://docs.nuget.org/docs/reference/packages-in-visual-studio-templates
Ответ 3
Это то, что вы ищете:
Visual Studio - программно настроить решение для управления версиями
EDIT:
Я искал этот довольно интересный проект, он, кажется, экспортирует решения, а не проекты, которые могут быть или не быть лучшей идеей. Мне особенно нравится часть в конце, которая говорит, что она лишит контроль над версиями, чтобы вы получили чистый проект. Я знаю, что это не точный ответ, который вам бы хотелось, но это стоит посмотреть;)
http://flux88.com/blog/exporting-visual-studio-solutions-with-solutionfactory/