VS模板参数:获取部分项目名称
VS template parameters: Get partial project name
我有一个多项目解决方案模板。
我使用 this 指南创建了它。
我的解决方案是使用中央共享项目生成多平台项目:
MyProject.Shared
MyProject.UWP
MyProject.Droid
- 等等
问题是,当我在单个项目的 csproj 文件中使用 $safeprojectname$.Shared
(比如在 UWP 项目中)以添加对共享项目,生成的是 MyProject1.UWP.Shared
而不是 MyProject1.Shared
.
如何从各个项目中引用共享项目名称/解决方案名称?
P.S。有 $SpecificSolutionName$
参数,但只有在用户选中 Create solution directory 选项时才有效,这对我来说不够好。
TL;DR
如何从参数中获取部分项目名称?
$ext_safeprojectname$
成功了。
(credit)
在根 .vstemplate 文件中,您应该在 ProjectTemplateLink
标签中使用 ProjectName="$projectname$"
:
<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>
我有一个多项目解决方案模板。 我使用 this 指南创建了它。
我的解决方案是使用中央共享项目生成多平台项目:
MyProject.Shared
MyProject.UWP
MyProject.Droid
- 等等
问题是,当我在单个项目的 csproj 文件中使用 $safeprojectname$.Shared
(比如在 UWP 项目中)以添加对共享项目,生成的是 MyProject1.UWP.Shared
而不是 MyProject1.Shared
.
如何从各个项目中引用共享项目名称/解决方案名称?
P.S。有 $SpecificSolutionName$
参数,但只有在用户选中 Create solution directory 选项时才有效,这对我来说不够好。
TL;DR
如何从参数中获取部分项目名称?
$ext_safeprojectname$
成功了。
(credit)
在根 .vstemplate 文件中,您应该在 ProjectTemplateLink
标签中使用 ProjectName="$projectname$"
:
<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>