gpt4 book ai didi

c# - 如何在 VSTemplate 中创建评估的自定义参数

转载 作者:可可西里 更新时间:2023-11-01 09:15:52 25 4
gpt4 key购买 nike

因此,我正在修改一个多项目 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 接口(interface),并可以拥有自己的替换参数,替换为您提供的值。

关于c# - 如何在 VSTemplate 中创建评估的自定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8072771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com