Visual Studioでdll(クラスライブラリ)の作り方と使うまでのメモ
作るdllの機能は
- 2つの整数を足す
- 2つの整数をかける
デバッグ用(DLLの確認用)のプロジェクトとDLL用のプロジェクトを用意する
デバッグ用のプロジェクト作成
ソリューションにDLLのプロジェクトを追加する
ソリューションエクスプローラーの一番上の項目を右クリック
追加→新しいプロジェクト
名前は初期値のClassLibrary1のままにした
追加したところ
プロジェクトの名前がnamespaceになっている
ファイル名はClass1になっている
クラスの名前はファイル名と同じClass1ってのが用意されている、ここに書いていく
デバッグ(確認)用のプロジェクトからDLL用のプロジェクトにアクセスできるように
参照の追加をする
ソリューションエクスプローラーで
デバッグ(確認)用のプロジェクトの参照の右クリックメニューから
参照の追加
ソリューションに追加したプロジェクトが表示されるみたい
これで追加される
これでこのデバッグ(確認)用のMainWindowとDLLが繋がった
DLLの機能を書いていく
足し算と掛け算の機能を追加したところ
足し算のDllTestはstatic
掛け算のDllTest2は普通の関数にした
クラスの名前変更してみる
名前の右クリックから名前の変更
確認用のMainWindowに戻って
Dllの機能が使えるか確認してみる
そのまえにネームスペース?を追加
using ClassLibrary1;を追加
確認
myまで打ったら入力候補にMyTestClassがでてきた!
足し算のDllTestが入力候補にでてきた
staticを指定してあるとNewでクラスを作成しなくても使えるみたい
便利
いいね
DLLに書いた足し算の関数に2と3を渡して
結果をMessageBoxで表示してみる
いいね
掛け算の方
掛け算の関数DllTest2はstaticじゃないので
Newでクラスを作成してからになる
おなじようにできた
DLLファイルの場所
ClassLibrary1.dll
できている
このままのDebugバージョンでも使えそうだけど
Releaseバージョンで64ビット版にしたいので
DLLをRelease、64bitでビルド
DebugからReleaseに変更
Any CPUから64bitに変更
取り消し修正2018/11/24
以下の範囲は間違っていた
ここから間違い
アクティブソリューションプラットフォーム
新規作成から
x64を選択でok
ここまで間違っていた
ここから修正追記2018/11/24
構成マネージャーのプラットフォーム
ここで新規作成
これでできた
ここまで修正追記2018/11/24
これでx64が選択できるようになる
これでDLLの作成は完了
次はこれを別プロジェクトで使う
作ったDLLを使ってみる
いつものWPFアプリ
名前は20180218_作ったdllを使うにした
参照の追加でdllを使えるようにする
参照の追加で
アプリのプロパティのターゲットフレームワークを4.7.1以上にする
ムダに新しいバージョンで作ってしまって
Visual Studio 2017の初期設定だと4.6だから変更する必要があるこれで使えるようになった
ネームスペースを追加
追加されたので入力候補に出てくる
クラスも入力候補に出てくるし
実行すると
使える!
dllファイルの場所
これで別の新しいプロジェクトからでもdllファイルを使うことができた参照の追加をすることで使えるようになっているようなんだけど
参照ってことは場所の指定だけなのかなと思ったら
わざわざコピーするってことはこれを使っているはず
じゃあ元のdllに機能を付け足したりなど変更した場合はどうなるんだろうと試したら
結果はコピー先も変更された、すごい
試した経過
Release x64でビルド
別プロジェクトから追加した関数が使えるのか確認
実行すると
期待どおりの結果
更新日時の時間を見るとおなじになっている
なので元のdllファイルが更新されると参照先のファイルも自動で更新されるみたい
今回はC#で作って、手順だけメモしてみた
色々いじっていたらできたってだけだから間違っていたりムダなところがあるはず
続きは翌日
別プロジェクトからもDLLを編集する方法
https://blogs.yahoo.co.jp/gogowaten/15378793.html
今回の記事の方法で
WPF、Color(RGB)とHSVを相互変換するdll作ってみた、オブジェクトブラウザ使ってみた ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15380324.html
2018/03/30は40日後
ユーザーコントロール(WPF)のDLLを作ってアプリで使うまでの手順メモ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15436544.html
2018/11/24は9ヶ月後
WPF色一覧表示してHSVで並べ替えするアプリできた ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15766408.html