我有一个大部分工作的多项目模板。
我能够生成两个项目及其文件(正确命名),但我的一个项目需要对另一个项目的引用。我试图让模板正确填写这些参考资料,但遇到了问题。
这是我的主(解决方案)模板文件:
<VSTemplate Version="2.0.0" Type="ProjectGroup"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>Template</Name>
<Description>Template (includes web and core)</Description>
<Icon>Icon.ico</Icon>
<ProjectType>CSharp</ProjectType>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$safeprojectname$.Web">
Template.Project.Web\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Core">
Template.Project.Core\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
现在在“.Web”项目中,我经常说using x.Core;
,但如果我这样做$safreprojectname$.Core
,最终会变成x.Web.Core
. 似乎一旦生成了每个项目,$safreprojectname$
变量就会更改为当前项目。这是有道理的。但是有没有办法获得解决方案名称或其他项目的名称?我尝试在解决方案文件中设置一个变量,但它似乎没有传递给项目文件。
有人有建议吗?
编辑:除了下面的有用答案外,这是我完成此过程后写的博客。它链接到我发现非常有用的一堆文章:https ://thebhwgroup.com/blog/2013/10/visual-studio-templates