Я работаю над созданием некоторых шаблонов в Visual Studio 2019, чтобы использовать новый формат .csproj (на основе свойства SDK), и столкнулся с проблемой.
Обычно, если вы Если вы хотите включить файл в шаблон, вы добавляете его в .vstemplate:
<TemplateContent>
<Project File="ProjectTemplate.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="$classprefix$Config.cs">ProjectTemplateConfig.cs</ProjectItem>
</Project>
</TemplateContent>
и в .csproj:
<ItemGroup>
<Compile Include="$classprefix$Config.cs" />
</ItemGroup>
И все работает так, как должно.
Однако я пытаюсь использовать новый формат, в котором вы не включаете отдельные файлы в .csproj, он автоматически подбирает все файлы в папке вашего проекта.
Но когда я удаляю тег <Compile>
из csproj, шаблон больше не копирует файл.
Я даже использую IWizard
и вижу вызов Visual Studio для IWizard.ShouldAddProjectItem(string)
, к которому я возвращаю true
, однако он не добавляет его.
При работе с WPF необходимость более велика, когда, если вы добавите второй тег <Page>
, компилятор фактически выдаст ошибка.
Поддерживают ли шаблоны Visual Studio новый .csproj fo РМАТ? И если да, то как я могу скопировать файлы независимо от их присутствия в файле .csproj?