>我有一个多项目解决方案模板。 我使用本指南创建了它。
我的解决方案是使用中央共享项目生成多平台项目:
MyProject.Shared
MyProject.UWP
MyProject.Droid
- 等。
问题是,当我在各个项目的csproj文件中使用$safeprojectname$.Shared
(假设在UWP文件中(以添加对共享项目的引用时,生成的是MyProject1.UWP.Shared
而不是MyProject1.Shared
。
如何引用各个项目中的共享项目名称/解决方案名称?
附言有$SpecificSolutionName$
参数,但这仅在用户选中">创建解决方案目录"选项时才有效,这对我来说还不够好。
TL;博士
如何从参数中获取部分项目名称?
$ext_safeprojectname$
可以解决问题。
(信用(
在根.vstemplate文件中,您应该在ProjectTemplateLink
标记中使用ProjectName="$projectname$"
:
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$projectname$.Shared" CopyParameters="true">
MyProject.SharedMyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$.UWP" CopyParameters="true">
MyProject.UWPMyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$.Droid" CopyParameters="true">
MyProject.DroidMyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>