ここ数日、これに関する情報を読んでいて、ある程度の進歩はありましたが、まだ少し迷っています。
クラス、ファイル、およびフォルダーのコレクションを作成し、それらをまとめて Visual Studio アイテム テンプレートとして結合したいと考えています。
「モジュール」と考えてください。
この「モジュール項目テンプレート」を追加すると、Visual Studio がフォルダーとファイルを挿入し、それに応じて名前を変更するという考え方です。
これは PROJECT テンプレートではなく、ITEM TEMPLATE です。これは、彼らが取り組んでいる既存のプロジェクトに、そのプロジェクト内で (別のプロジェクトとしてではなく) 追加する必要があるためです。
Visual Studio 2010 SP1 SDK アイテム テンプレート テンプレートを使用することで、ほとんど理解できました。
問題は、$safeitemname$ を使用すると、各クラスで異なる名前が取得されることです。
彼らがアイテムを追加して「MyModule」という名前を付けると、値 $safeitemname$ が「MyModule」になることを期待していました。
これは起こっていません。代わりに、生成された各クラス ファイルは、生成されたファイル名と一致する $safeitemname$ の異なる値を取得します。
たとえば、MyModuleConfig.cs クラスがあり、別のクラス ファイルを次のように設定したとします。
public class $safeitemname$Config
{
}
ユーザーが構成とともに「MyModule」と入力したアイテム名を取得する代わりに、クラスは「MyModuleConfigConfig」という名前を取得します。
ユーザーがテンプレートを使用して [項目の追加] ダイアログでモジュールを作成したときに入力した元の名前のみを使用するようにするにはどうすればよいですか?