11

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

4

1 に答える 1

1

マルチ プロジェクト テンプレートでは、基本的にプロジェクト レベルでのみ置換パラメーターを使用できます。ルート テンプレートはソリューション レベルにあり、基本的にそこに $safeprojectname$ を含めることはできません。ただし、IWizard インターフェイスを実装して、独自の置換パラメーターを指定した値に置き換えることができます。

于 2012-05-21T21:22:29.877 に答える