Как я могу добавить файлы папки решений в шаблон проекта VS? - PullRequest
5 голосов
/ 31 марта 2009

Я пытаюсь создать шаблон проекта в Visual Studio. Мое основное решение содержит два проекта и папку решений «Элементы решения», которая содержит (среди прочего) библиотеки (.dll), которые нужны двум проектам в качестве ссылок.

Шаблон моего проекта создает два проекта: папку «Элементы решения» и другую папку в «элементах решения» (по желанию). Однако он не добавляет DLL-файлы и другие файлы, которые должны заполнять «Элементы решения».

В файле .vstemplate я добавляю ссылки на .dll как элементы ProjectItem непосредственно под узлом TemplateContent, и они игнорируются.

Если я пытаюсь добавить узел «Проект» (как если бы моя папка «Элементы решения» была Проектом), я получаю всевозможные ошибки.

Должен ли я создать фиктивный проект для хранения этих файлов?

Ответы [ 2 ]

4 голосов
/ 09 апреля 2009

Кажется, мне нужно включить в проект Разные файлы (термин Microsoft), чтобы генератор проектов мог их найти. Я положил их в папку и включил в один из шаблонов моего проекта.

Затем я реализовал IWizard, который я также включил в шаблон решения, который после сборки этого проекта будет перемещать файлы туда, где я их хотел, и изменять файл .csproj, чтобы он не пропустил их.

Все отлично работает, но похоже на грубейшее из хаков ...! Кто-нибудь из MS там?

0 голосов
/ 31 марта 2009

Я никогда раньше не создавал шаблонов, поэтому я могу только догадываться о том, что вы делаете. В наших файлах .sln элементы нашего решения выглядят так:

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build", "_Build", "{45E29CA9-E213-4C73-AA54-AE9B87F79F2D}"
    ProjectSection(SolutionItems) = preProject
        _Build\Project.proj = _Build\Project.proj
    EndProjectSection
EndProject

Где _Build - это SolutionFolder, который мы сопоставляем с физической папкой, также называемой "_ Build". В этом случае он содержит один файл, файл Project.proj, который, конечно, сопоставлен с версией физической папки.

Надеюсь, это хоть немного поможет ...?

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