Пользовательский шаблон VS2019 не показан - PullRequest
1 голос
/ 08 января 2020

Я создал собственный шаблон для VS2019, который содержит два проекта. Ниже мой root .vstemplate файл

<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>Asp.Net Core Template EF Core</Name>
    <Description>Asp.Net Core 3.1 Boilerplate template</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>Asp.Net Core Template EF Core</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>logo.png</Icon>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
      <ProjectTemplateLink ProjectName="AspNet Core Ef Core">
        src\AspNetCore3EfCoreTemplate\MyTemplate.vstemplate
      </ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="AspNet Core Ef Core Web">
        src\AspNetCore3EfCoreTemplate.Web\MyTemplate.vstemplate
      </ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
</VSTemplate>

Я следовал инструкциям этой ссылки , но мой шаблон не отображается, когда я пытаюсь создать новый элемент в VS2019. Кто-нибудь знает, почему это происходит?

Ответы [ 2 ]

1 голос
/ 09 января 2020

Я следовал инструкциям этой ссылки, но мой шаблон не отображается, когда я пытаюсь создать новый элемент в VS2019. Кто-нибудь знает, почему это происходит?

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

All Langages, All Platforms и All Project Types и поле поиска теряют способность фильтровать пользовательские шаблоны проектов, и это известная проблема в VS2019. Но это все еще происходит в последней версии VS2019 16.4.2. Если вы хотите решить эту надоедливую проблему, вы можете сообщить о проблеме на D C Forum , чтобы сообщить об этом ненормальном поведении для поддержки. Это может быть длительный процесс, или вы можете попробовать мои предложения ниже:

Предложение

1) Не использовать фильтры в пользовательском интерфейсе проекта VS2019 а затем перетащите курсор вниз всех шаблонов, чтобы найти пользовательский шаблон, который обычно вставляется после всех шаблонов по умолчанию.

enter image description here

Это изображение показывает его внизу всех шаблонов.

2) перейти на использование VS2017, в котором нет ошибок.

Обновление 1

Я создал вашу личную информацию и проверил на моей стороне без ошибок мою среду:

win10 enterprise 1903 ; Сообщество VS2019 16.4.2

Мои шаги :

1) l создали два проекта в одном решении: Net Проект Core 3.1 ClassLibrary и ASP. NET Проект Core 3.1 Web Application .

2) затем щелкните Экспорт шаблона .. в меню Проект и экспортируйте эти проекты как шаблон проекта отдельно.

3) откройте папку и разархивируйте их в ту же папку с именем ср c.

Здесь показаны две распакованные папки проекта в папке sr c

enter image description here

Затем это показывает окончательный вид папки, а папка sr c содержит две папки проекта, как показано на рисунке выше

enter image description here

4) root.vstemplate - код, который вы предоставляете. Шаблон проекта называется Asp.Net Core Template EF Core, как вы сказали. После этого я сжимаю эти два файла в пакет, называемый шаблоном нескольких проектов, а затем помещаю этот zip-файл в этот путь C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates.

5) , затем закрываю VS Instance и затем перезапустите VS и очистите все фильтры, а затем потяните шаблоны проектов вниз, а затем найдите внизу шаблон с именем Asp.Net Core Template EF Core.

> l нашел этот шаблон на моей стороне, и если вы этого не видите, восстановите VS , а затем отключите любые сторонние расширения в меню «Расширение» -> «Управление расширениями», чтобы предотвратить помехи VS. Кроме того, поскольку ваш VS 16.4.1, вы можете попробовать обновить его до 16.4.2.

Обновление 2

С вашим образцом, я думаю, я нашел вопрос. Проблема в том, что root .template не может найти два содержащихся проекта:

Вы положили root.template в папку Src, а в файл root.vstemplate напишите:

src\ClassLibrary1\MyTemplate.vstemplate

src\WebApplication3\MyTemplate.vstemplate

Он использует относительные пути для поиска этих файлов, и текущий путь, в котором находится ваш root.vstemplate, не имеет sr c, поэтому он не может найти.

Решение состоит в том, что вы должны поместить root.vstemplate в ту же директорию, что и папка SR C, а затем сжать эти две. После этого поместите это Multiple.zip в C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates.

enter image description here

Надеюсь, это может помочь вам.

0 голосов
/ 08 января 2020

Может быть, это поможет. https://blog.jayway.com/2015/03/13/visual-studio-how-to-create-a-solution-template-with-multiple-projects/

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

...