Параметры шаблона VS: Получить частичное имя проекта - PullRequest
0 голосов
/ 15 октября 2018

У меня есть шаблон многопроектного решения.Я создал его, используя это руководство.

Мое решение - создание многоплатформенных проектов с общим общим проектом:

  • MyProject.Shared
  • MyProject.UWP
  • MyProject.Droid
  • и т. Д.

Проблема заключается в том, что когда я использую $safeprojectname$.Shared в csproj файл отдельных проектов (скажем, в UWP) для добавления ссылки на общий проект, который генерируется MyProject1.UWP.Shared вместо MyProject1.Shared.

Как мне обратиться кобщее имя проекта / имя решения из отдельных проектов?

PS Существует параметр $SpecificSolutionName$, но он работает только в том случае, если пользователь проверил Создать каталог решения опция не подходит для меня.

TL; DR

Как получить частичное имя проекта из параметра?

Ответы [ 2 ]

0 голосов
/ 31 августа 2019

В корневом файле .vstemplate вы должны использовать тег ProjectName="$projectname$" в ProjectTemplateLink:

<TemplateContent>
    <ProjectCollection>
      <ProjectTemplateLink ProjectName="$projectname$.Shared" CopyParameters="true">
        MyProject.Shared\MyTemplate.vstemplate
      </ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="$projectname$.UWP" CopyParameters="true">
        MyProject.UWP\MyTemplate.vstemplate
      </ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="$projectname$.Droid" CopyParameters="true">
        MyProject.Droid\MyTemplate.vstemplate
      </ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
0 голосов
/ 17 октября 2018

$ext_safeprojectname$ делает трюк.

( кредит )

...