2011-08-10 3 views
0

サブアセンブリを持つ.NETでDLLを作成する方法はありますか。サブアセンブリを含む.Netライブラリを作成する

たとえば、私がプロジェクト "MyUtilities"を持っているならば、私は電子メール特有のクラスでサブアセンブリ "MyUtilities.EmailUtilities"を作りたいと思います。私はMyUtilitiesのコンパイルDLLへの参照を追加するときに、新しいプロジェクトでは、私のようなコードを使用してEmailUtilitiesクラスにアクセスできます。

MyUtilities.EmailUtilities.EmailBlaster eBlaster = new MyUtilities.EmailUtilities.EmailBlaster 
+0

ちょうどプロジェクトに名前を付けてください... –

+0

@Daniel Hilgarth私は1つのプロジェクトと参照する1つのDLLを持っていたいと思います。私のプロジェクトの名前は "MyUtilities"ですが、いくつかのクラスが示唆しているように、異なるクラスをサブネームスペースにグループ化したいと思います。 –

答えて

4

namespaceです。

+0

まさに私が探していたものです。ありがとう! –

1

あなたはEmailUtilitiesというサブフォルダを持つ単一の普通のプロジェクトを作成する必要があります。
これにより、これらのクラスを含む別の名前空間が作成されます。

+0

私はこれを試しましたが、EmailBlasterクラスはMyUtilities.EmailBlasterではなくMyUtilities.EmailUtilities.EmailBlasterを使ってアクセスできました。 "Namespace EmailUtilities"をEmailBlasterクラスのコードに追加すると、Joeは作業を提案しました。私のクラスを名前空間でフォルダに分けることは意味がありますが、ありがとう! –

+0

その後、 'namespace'行を更新する必要があります。最初にファイルを追加したときにのみデフォルトで設定されます。 – SLaks

+0

ああ、私は参照してください。ありがとう! –

1

名前空間とアセンブリを混在させています。彼らはお互いに関係がありません。名前空間は複数のアセンブリにまたがることができ、アセンブリは複数の名前空間を持つことができます。

あなたが説明しているのは、サブネームスペースだけです。これはすべてコードで実行できます。

次のいずれかの

namespace MyUtilities 
{ 
    namespace EmailUtilities 
    { 
     // Your code here 
    } 
} 

あるいは、より一般的に:

namespace MyUtilities.EmailUtilities 
{ 
    // Your code here 
} 
0

あなたは.NETのサブアセンブリを作成することはできません、あなたが考えている少なくともない方法。リモートで閉じるのはsatellite assembliesですが、それはあなたが望むものではありません。クラスを別々の名前空間に編成するだけです。名前空間はネストすることができます。

関連する問題