今日の目標→
自作クラスをDLL形式のライブラリにする手順を述べる。
やたら長くなったけど、このライブラリは後でいろいろ機能を追加して育てていく土台になるので頑張る。
●ライブラリ用のプロジェクトを作成
DLLライブラリを作るには、いつもの「Windowsフォームアプリケーション」ではなく、次のように「クラスライブラリ」のテンプレートを選ぶ。
- メニューバーから「ファイル(F)」→「新しいプロジェクト(P)」で、プロジェクト作成ウィンドウを開く
- 左のカテゴリで「Visual C#」、右のアイコンで「クラスライブラリ」を選ぶ
- 名前を「MyLib」と入力して「OK」ボタンをクリックする
●「参照」の追加
プロジェクトができたら、ウィンドウ右上のソリューションエクスプローラで、「参照」をダブルクリックすると、このプロジェクトで使える外部ライブラリの一覧が表示される。このままだと足りない感じなので、次の手順でライブラリを追加しておく。
- ソリューションエクスプローラの「参照」を右クリック→「参照の追加(R)」
- 左のカテゴリで「アセンブリ」、サブカテゴリ「フレームワーク」を選ぶ
- 右のリストで「System.Drawing」を探してチェックマーク
- 同じく右のリストで「System.Windows.Forms」を探してチェックマーク
- 「OK」ボタンを押す
これで「参照」にSystem.DrawingとSystem.Windows.Formsが追加された。今はこれで十分だ。後で足りないものがあったら、そのときにまた追加すればよろしい。
●不要なコードを削除
デフォルトで存在する「Class1.cs」は不要なので、ソリューションエクスプローラで消しておく。
Class1.csを右クリック→「削除(V)」
●自作クラスのコードを追加
ライブラリに自作クラスのコードを追加する。手で入力しても良いし、すでに存在するなら次のようにファイルから読み込んでも、どっちでも良い。
- メニューバーから「プロジェクト(P)」→「既存の項目の追加(G)」でファイルダイアログを開く
- "TextWork3"プロジェクトのフォルダを探す
- ファイル"RichReporter.cs"を選択する
- 「追加」ボタンを押す
●コードのnamespaceを変更
前回も書いたとおり、ライブラリのnamespaceは自分好みに変えて良い、というか変更すべきである。本当は中二病的なカッコいい名前が好きなんだけど、まあ妙にこだわると後で恥ずかしいからな…。というわけで好きなピザにちなんで、
namespace MarugeProject
に決定。読み方は「マルゲプロジェクト」ね。変更後のコードを下記に示す。
namespace以外に変更した箇所はない。
●プロジェクトをコンパイルしてDLLファイルを作る
クラスライブラリの作成プロジェクトは、いつものように「開始」ボタンで実行はできない。その代わり次の方法でコンパイルする。
メニューバーから「ビルド」→「ソリューションのビルド」を選択
コンパイルが終わると、プロジェクトのフォルダの下、bin\Debugサブフォルダに「MyLib.dll」というファイルが作られる。これがDLL形式のライブラリである。
なお、bin\Debugサブフォルダは一時的な保管場所で、たとえば「ビルド(B)」→「ソリューションのクリーン(C)」メニューを実行すると削除されてしまう。なので完成したDLLファイルは適当な別フォルダにコピーしておくとよいかも。
●次回の予告
うわー記事が長くなりすぎた。今日はここまでといたします。作成したDLLライブラリを呼び出して利用する手順は、次回で書くことにします。
あと、本ブログの記事で作ってるプログラムをアーカイブして、ダウンロードできる方法を考えています。どこにファイルを置くかが問題だ。