でも、昔、使ったきりで、 最近は活用していませんでした。
しかし、別のプロジェクトを開き、いちいち、コピペするのは結構大変ですね。
作りましょう!。 自分用の雛形!。
随分と昔ですが、古い Visual Studio 用に、テンプレート を作った記憶があります。
Form の見た目を統一する意味で、したのでした。
でも、Visual Studio も 代が幾つか代わり、最近は、すっかり忘れていました。
コツコツと、別のものを開いては、必要箇所をコピーペーストしています。
はい。 思い出しました!。
昔、テンプレート を作ったよ!。 その手があるじゃぁ無いか!。
プロジェクトの雛形をテンプレートとして独立させるのは、簡単です。
でも、
GUID です。 問題は。
普通に Project を作り、これから、雛形の Template を Wizard に従って生成すると、
同一 GUID の Project が 複数組 生まれる事に繋がります。
勿論、重複を気にするのであれば、
手動で My Project の アセンブリ情報(Y) にある GUI を
ツール(T) > GUID の生成(G) で生成した もの に置き換えれば良いのですが、
面倒ですよね。
第一、忘れて仕舞えば、重複は避けられません。
思い出して下さい。
標準のテンプレート は、そんな面倒な事をせず、自動で 個別の GUID を生成しています。
これと同じ事がしたい!。
はい。 結論 はこれ。
Visual Studio 2017 (Jp) VB.net での例で。
VB.net であれば、
AssemblyInfo.vb を開き *1 、
所定の箇所を書き換えます。
*1: Solution Explorere で、全てのファイルを表示 にして
例示ですから、 GUID は 嘘の値 です。 ;)
変更前
'このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
<Assembly: Guid("12345678-ABCD-1234-EFGH-1234567890AB")>
変更後 直後に2行追加.
'このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
'Template GUID
<Assembly: Guid("12345678-ABCD-1234-EFGH-1234567890AB")>
'When Exporting, Do Active!
'<Assembly: Guid("$guid1$")>
テンプレート用の Project の動作確認や保存時には、
上の変更後の状態にして置きます。
テンプレート の エクスポート時点で、
先ず、
登録時
'Template GUID
'<Assembly: Guid("12345678-ABCD-1234-EFGH-1234567890AB")>
'When Exporting, Do Active!
<Assembly: Guid("$guid1$")>
と、コメントアウトの行を入れ替えて、
そのまま、
プロジェクト(P) > テンプレートのエクスポート(E)... と進みます。
保存しますか? と聞かれるので、 はい(Y) をクリックして、
Wizard を進んで下さい。
はい。 その後の 実際のプロジェクト生成時に $guid1$ の 置換 をさせる訳ですね。.
自動生成後、
テンプレート用の Project のコメントアウトを元(変更後)に戻します。
これで、また、Debug 可能な状態(通常状態)にします。
だって、 テンプレートに盛り込んだパーツの動作を確認したいケースもありますから。
この テンプレート を使って、新 Project を生成すれば、
毎回、別の GUID を持つものが生まれます。 $guid1$ の 置換 .
安定したテンプレートが出来て仕舞えば、それ用の Project は不要です。
削除して仕舞っても OK ですね。
さて、それでは、ファイル .zip を移動して置きましょう。
移動先は、利用言語やカテゴリに応じて、以下の場所です。
msdn で質問し、MVP の gekka さまにご回答戴きました。 gekka さまに感謝!。
VS ユーザー作成 Project Template の <ProjectSubType> に関して
例:
Visual Basic > Windows デスクトップ なら、
Wizard 自動生成先。
%USERPROFILE%\Documents\Visual Studio 2017\My Exported Templates
移動先。 \Windows を新設
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual Basic\Windows
Wizard から自動生成された .zip そのまま を移動。
???Template.vstemplate ファイルの <ProjectSubType> はデータ無しのまま。 編集は不要。.
尚、
Visual Basic > Windows デスクトップ と、Visual Basic と、2箇所に表示させるなら、
ファイルコピーの手もあります。
例:
cmd.exe 同一ドライブ上に居るとして ハードリンク生成。 実体はひとつ。
cd %USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual Basic
mklink /H ???Template.zip Windows\???Template.zip
これで、少しは、楽 が出来るかな ... 。
[2019/05/29] 若干の追記
0 件のコメント:
コメントを投稿