首页 > 解决方案 > VS2019 自定义模板 - 父变量前缀(ext_)不起作用

问题描述

我正在尝试为包含多个项目的 VS2019 创建一个自定义模板(基于指南),但我遇到了参考问题。

我的解决方案基于经典的 3 层架构(data/business/ui),所以当我创建一个新的解决方案 - 称之为“MySolution”时,我会得到“MySolution.Data”、“MySolution.Business”和“MySolution.用户界面”——一切都好。我需要业务层引用数据层 - 但是,使用该$ext_safeprojectname$变量只会在我的依赖项的项目节点中给我一个未解析的引用,以“$ext_safeprojectname$.Data”

其他变量似乎工作正常 - 例如,如果我使用$safeprojectname$,我在参考中得到“MySolution.Business.Data” - 正确解析变量,用于业务层项目,但不是预期的结果。

前缀ext_被替换了吗?我似乎在任何地方都找不到任何文档。

谢谢!

标签: visual-studio-2019visual-studio-templates

解决方案


在评论您的问题后,我能够解决它。我缺少文件中元素的CopyParameters=true属性。它被提到作为从现有解决方案创建多项目模板的提示。一旦我这样做了,我的变量就被替换了。您的元素应如下所示:ProjectTemplateLink.vstemplateext_ProjectTemplateLink

<ProjectTemplateLink ProjectName="MyProject" CopyParameters="true">...</ProjectTemplateLink>


推荐阅读