- PR -

共通ライブラリクラスについて

投稿者投稿内容
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2006-04-22 18:45
C#でプログラムを複数作ろうとしています。
各プログラムで共通する処理をメソッド化して、1つのクラスに定義するのですが、
VisualStudioのC#では、共通メソッドを含んだクラスのCSファイルをプロジェクトに追加すると、そのプロジェクトのフォルダにコピーされてしまいます。
これでは共通化している意味がありません。
共通メソッドクラスに変更がないのなら、結果的には共通化していることになっているかもしれませんが、もし変更を入れる場合には、そのCSファイルを追加しているC#プロジェクト全てに対して変更が必要になります。
共通クラスをDLL化すれば、上記問題は解決しますが、DLL化しないで、C#プロジェクトで同じ場所にあるCSファイルを参照することは実現できないのでしょうか?


[ メッセージ編集済み 編集者: NEO 編集日時 2006-04-22 18:45 ]
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-04-22 19:14
引用:

NEOさんの書き込み (2006-04-22 18:45) より:

共通クラスをDLL化すれば、上記問題は解決しますが、DLL化しないで、C#プロジェクトで同じ場所にあるCSファイルを参照することは実現できないのでしょうか?



追加→既存項目の追加で「追加」ボタンの横にある▼ボタンを押すとできます。
以前、僕も同じところでつまずきました。
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2006-04-22 19:41
Delphiではできたんですがねぇ。
名前空間の概念があるので、無理なんでしょうか・・・
複数の名前空間を持ったクラス(しかもDLLなし)で、EXEを構成することは可能なんでしょうか?
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-04-22 20:34
引用:

共通クラスをDLL化すれば、上記問題は解決しますが、DLL化しないで、C#プロジェクトで同じ場所にあるCSファイルを参照することは実現できないのでしょうか?


DLL にするのが唯一の解決策だと思いますが、したくない理由はなんでしょうか?
理由によっては他の解決策が提案できるかもしれません。
_________________
囚人のジレンマな日々
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2006-04-22 20:59
理由はモジュール(EXE、DLL)を少なくしたいだけです。
Delphiでできた(VBでもできそうですね)ので、そうしたかったのですが、本来はできる方が普通じゃないような気がしてきました。
JavaでもCでもDLLやCLASSが必要ですし。

ところで、EXE内で複数の名前空間を持つことは出来ますか?
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-04-22 21:18
引用:

ところで、EXE内で複数の名前空間を持つことは出来ますか?


アセンブリ、モジュールと名前空間は別の概念なので、出来ます。
_________________
囚人のジレンマな日々
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2006-04-22 23:25
引用:

DLL にするのが唯一の解決策だと思いますが、したくない理由はなんでしょうか?




VBやDelphiではできるのに、C#ではなぜできないんでしょうか?
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-04-22 23:33
引用:

VBやDelphiではできるのに、C#ではなぜできないんでしょうか?


具体的にはどのような機能を指していますか?
R・田中一郎さんが仰っているリンクではないのでしょうか?
_________________
囚人のジレンマな日々

スキルアップ/キャリアアップ(JOB@IT)