我正在尝试为常用的项目分层方案创建模板,但无法让我的测试项目具有正确的名称。
我的项目模板包含一个名为$safeprojectname$.Application
的项目。我希望使用此模板创建的任何项目都将其所需的名称注入上述名称。
EG:新建项目>名称为MyProject
,然后应创建一个名称为MyProject.Application
的项目。
目标是最终创建一个多项目模板来设置常见的分层方案。
这是我到目前为止所做的:
$safeprojectname$.Application
namespace $safeprojectname$.Application
$safeprojectname$.Application
,所以我将默认名称重命名为MyProject
TestProject
之类的名字,但最终解决方案包含一个名为TestProject
而不是TestProject.Application
的项目这是我的vstemplate文件
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>$safeprojectname$.Application</Name>
<Description><No description available></Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>3</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<Project TargetFileName="$safeprojectname$.Application.csproj" File="$safeprojectname$.Application.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="Bootstrapper.cs">Bootstrapper.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="packages.config">packages.config</ProjectItem>
<Folder Name="Properties" TargetFolderName="Properties">
<ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
</Folder>
</Project>
</TemplateContent>
</VSTemplate>
根据docs,要在其上插入参数的属性应包含ReplaceParameters="true"
。如您从我的模板文件中看到的,我确实具有此设置。文档唯一提到的是名称空间和模板项都可以更改,但是他们没有提到项目名称可以自己更改。