基本的には、nuget経由で取得してくることを推奨します。
Nuget から取得してくるだけで、T4 Template による変換も実行されます。
これだけで、使える状態になります。
Nuget から取得してくるだけでは、T4 Template は実行されません。
プロジェクトへと加えられた HmNetCom.tt をクリックして、下図のように
プロパティペインを見ます。
カスタムツール という項目があるので、ここに
TextTemplatingFileGenerator
と入力してます。
入力が完了する(=プロパティペインの他の場所なりどこなりにマウスを移動させる)と、
自動的にテンプレートの変換が行われ、以降使える状態となります。
自動的に変換が始まらない場合は、メニューのビルドより「すべてのT4テンプレートの変換」を実行してください。
このようにプロジェクトのトップに「Hm.NetCOM.cs」があるのは間違った状態です。
キャッシュが読み込まれてしまっている状態ですので、一度プロジェクトトップの「Hm.NetCOM.cs」は削除します。
カスタムツール の項目に
TextTemplatingFileGenerator
を入力して完了(=プロパティペインの他の場所なりどこなりにマウスを移動させる)しましょう。
自動的にテンプレートの変換が行われ、以降使える状態となります。「HmNetCOM.cs」を生成する際に、「dllと1対1で紐付けるべきGUID」が生成されます。
このため、異なる.dllファイル(=新たなC#プロジェクト)に対して、HmNetCOMを利用する度に、
この「すべてのT4テンプレートの変換」を実行してください。
「HmNetCOM.cs」を異なる.dllへと流用してはいけません。
dllの実体が異なるのに、同じGUIDを持つ複数のクラスが生まれてしまうためです。
「HmNetCOM.tt」だけを別のプロジェクトにもっていって、流用するのはOKです。
新しいC#プロジェクトの度に、「HmNetCOM.tt」から「すべてのT4テンプレートの変換」を改めて実行し、
新たに生成された「HmNetCom.cs」を使用する。
既に生成済みの「HmNetCOM.cs」を別プロジェクトにコピペしないこと。
GUIDの競合が発生してしまいます。
を厳守してください。
必須ではありませんが、「using HmNetCOM」として名前空間を using するのが一般的な使用方法となるかと思います。