2

たくさんの名前空間があるとします:

SuperNamespace.namespace1
SuperNamespace.namespace2
SuperNamespace.namespace3
SuperNamespace.namespace4
...
SuperNamespace.namespaceN

各名前空間には独自のプロジェクトがあり、各プロジェクトは独自の dll ファイルを作成します。

SuperNamespace.namespace1.dll
SuperNamespace.namespace2.dll
SuperNamespace.namespace3.dll
SuperNamespace.namespace4.dll
...
SuperNamespace.namespaceN.dll

開発者が必要なコードだけを使用できるため、この設計が気に入っています。DLL をたくさん持っていると、少し面倒で煩わしい場合があります。すべての名前空間を含む SuperNamespace.dll を作成したいと考えています。そうすれば、開発者は必要なものを使用するか、大きな dll ファイル、つまりすべてのライブラリを含む SuperNamespace.dll を使用するかを選択できます。

SuperNamespace.namespace1
SuperNamespace.namespace2
SuperNamespace.namespace3
SuperNamespace.namespace4
...
SuperNamespace.namespaceN

C# Visual Studio 2010 ソリューションでこれを行う方法はありますか?

4

1 に答える 1

2

別のアセンブリを保持する他の理由がない限り、すべてのソースを含む 1 つの大きなプロジェクトを作成するだけです。

後のケースでは、Mith Wheat が提案したように、ILMerge ルートに進む前に、小さなプロジェクトに加えてすべてを含む 1 つのプロジェクトを作成します。File->New project from sourceを使用して、多くのファイルから新しいプロジェクトを簡単に作成できます(そのためには、Expressのものではなく、より高いバージョンのVisual Studioが必要になる場合があります)。

1 つのアセンブリ (DLL) で使用できる C# 名前空間の数に制限はありません。.Net フレームワーク自体で多くの例を見つけることができます。つまり、System.* 名前空間の多くは同じアセンブリに由来します。

逆もまた真です。同じ名前空間は複数のアセンブリから取得できます。

コンパイルされたコードには「名前空間」のようなものがないことに注意してください-それはクラス/構造体/列挙名の一部になります。

于 2013-01-24T05:02:46.127 に答える