クラスやモジュールを共有したい〜VB2008

  • 2013.01.06 Sunday
  • 18:27

複数プロジェクトでデバッグする方法について書いたが、
ついでに思い出したことがあるので、覚え書き

おそらくいろいろ作っていると、同じような関数をいちいち書くのが面倒になり、
共通クラスやモジュールを作って、プロジェクト間で共有する といった形をとると思う。

一番良さそうなのは、DLL化して参照するという方法もあるが、
以前書いたように面倒なこともある。


なので、新しいプロジェクトを作った(既存プロジェクトに追加したい)場合は、
そういったクラスやモジュールを 既存の項目を追加 することで、取り込むというのが、ベターなのではと考える。

リンクで追加


しかし、ベストではないのは、
その新しいプロジェクト(または、別のプロジェクト)でバグを発見したり、修正や追加機能があった場合、
別のプロジェクトにその内容をいちいち反映させなくてはならないことであろう。


数プロジェクトなら簡単だが、
無限にあると忘れてしまったりして、古いソースのままリリースしてしまったり、
逆に古いソースで上書きして、新しいソースを消してしまったりと
トラブル多発である。


ということで、解決する方法はないかと調べてみると、
リンクとして追加という機能があることが分かった。

リンクで追加

とりあえず、既存の項目を追加と同じ順にたどり、
追加する直前に追加横の▼をクリックして、リンクとして追加を選択すると

リンクで追加

リンクマーク付きでファイルを追加できる。

これで、1つのvbファイルをいじるだけで、複数のプロジェクトに自動で反映され、
だいぶ手間が省ける。



もし同じソリューション内である場合、元のプロジェクトで既に開いている場合、

リンクで追加

と警告が出る。
この場合は、一度閉じれば普通に開くことができる。
(もちろん閉じなくても編集は可能である)

もし、同じ警告が出る場合は、一度閉じた後、作業するプロジェクトをアクティブにして、
ビルドすると解決できる。


また、ファイルを移動してしまった場合は、

リンクで追加

ファイルが無くなったと警告が出るので、注意が必要である。


なお、相対的なフォルダ、ファイル構成に変化がなければ、どこにおいてもこの警告は出ることなく、編集することが可能である。
(例えば、別の開発者にソリューションをまるごとコピーした場合など)
もし警告が出る場合は、構成が崩れてしまった可能性が高い。


それと、バージョン管理という意味ではあまり多用(※)しないで、
ファイルをコピペした方が手間がかかるが良さそうではある。
※リリース後に追加修正とかあった場合、元々のソースが上書きされて消えてしまうので、
原因調査とかしにくくなるなど、いろいろ不都合が生じる。

例えば、以前投稿したサービスのデバッグなどで応用すれば使えるかもしれない
サービスプログラムのデバッグを考える〜VS2008 コンソールプログラムからのアプローチ



追記
別プロジェクトで編集しているともう一方のプロジェクトで、エラーが多発する。

ソリューションとプロジェクトとデバッグ

これは、別プロジェクトを編集した内容がもう一方へ反映されていないからである。
一度ソリューションのビルド(またはリビルド)をしてみるとよい。


関連投稿
アプリケーションと自作dllを別のフォルダで構成したい
厳密名でpublicKeyTokenを指定してみる〜自作dllの続き
Dotfuscatorしたら厳密名が消えた〜自作dllの続き

サービスプログラムのデバッグを考える〜VS2008 コンソールプログラムからのアプローチ


コメント
コメントする








    
この記事のトラックバックURL
トラックバック

calendar

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>

search this site.

よく使う、検索される投稿

categories

アマゾン

楽天

selected entries

archives

recent comment

recent trackback

profile


※当ブログはリンクフリーですが、 取材や雑誌等で掲載される場合は、事前にお知らせください

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM