そのため、マルチプロジェクト 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$ は、サブプロジェクトの値ではなく、サブプロジェクトの名前に変更されます)。ルートテンプレートにありました)。