Sea*_*rle 10 c# parameters templates visual-studio-templates
所以我正在修改一个多项目VS模板(Visual Studio项目模板),我想在根模板中设置一个自定义参数供子模板使用.但是,我想根据现有参数进行设置.
所以,例如,这工作正常:
<CustomParameter Name="$FaultProject$" Value="MyProject.FaultContracts"/>
变量$ FaultProject $由MyProject.FaultContracts替换,应该是.
但是,这不起作用:
<CustomParameter Name="$FaultProject$" Value="$safeprojectname$.FaultContracts"/>
我希望$ safeprojectname $被正确的值替换,但事实并非如此.相反,变量$ FaultProject $被$ safeprojectname $ .FaultContracts取代.$ safeprojectname $被解释为文字而不是它的参数.
尽管如此,在同一个文件中,这与预期完全一致:
<ProjectTemplateLink ProjectName="$safeprojectname$.FaultContracts">WCFFaultContract\FaultContract.vstemplate</ProjectTemplateLink>
任何想法都会有所帮助.我相信我可能会编写一个IWizard类来执行此操作,但如果可能的话,我宁愿避免使用这样一个简单的函数.
或者,如果我可以获得一个包含根模板$ safeprojectname $的值的参数,那也可以解决我的需求(在子模板中,$ safeprojectname $更改为子项目的名称,而不是值在根模板中).
在多项目模板中,您基本上只能在项目级别具有替换参数。根模板位于解决方案级别,基本上不能在其中包含 $safeprojectname$。但是,您可以实现 IWizard 接口,并可以拥有自己的替换参数,并替换为您给出的值。