Connecting Tech Pros Worldwide Forums | Help | Site Map

Sub-libraryies in a main library

Curious
Guest
 
Posts: n/a
#1: Nov 18 '08
I was asked to create a C#.NET Console Library project that contains
two sub-libraries. And each sub-library contains multiple utilties.

As an experiment, I've created a Console Library project (solution).
Then I've added two projects (they're supposed to be sub-libraries).
However, each project has its own indepent assembly in the form of
a .dll file.

It seems that there is no way I can create a unified assembly (a
single .dll file) containing both projects (or libraries). Any input
on how to solve this problem? I work with business people who don't
know .NET and they request me to do it this way.

=?Utf-8?B?RmFtaWx5IFRyZWUgTWlrZQ==?=
Guest
 
Posts: n/a
#2: Nov 18 '08

re: Sub-libraryies in a main library




"Curious" wrote:
Quote:
I was asked to create a C#.NET Console Library project that contains
two sub-libraries. And each sub-library contains multiple utilties.
>
As an experiment, I've created a Console Library project (solution).
Then I've added two projects (they're supposed to be sub-libraries).
However, each project has its own indepent assembly in the form of
a .dll file.
>
It seems that there is no way I can create a unified assembly (a
single .dll file) containing both projects (or libraries). Any input
on how to solve this problem? I work with business people who don't
know .NET and they request me to do it this way.
>
You could ask them what they mean...

My first impression though would be to create two folders such as SubLib1
and SubLib2 in your single library project. This gives the classes created
in each folder different namespaces such as Project.SubLib1.Class1,
Project.SubLib2.Class2. It still compiles to a single dll. You don't need
to put the classes in separate folders as you could simply change the
namespaces in the class files, but I find it easier to manage them this way.


Curious
Guest
 
Posts: n/a
#3: Nov 19 '08

re: Sub-libraryies in a main library


On Nov 18, 12:01*pm, Family Tree Mike
<FamilyTreeM...@discussions.microsoft.comwrote:
Quote:
"Curious" wrote:
Quote:
I was asked to create a C#.NET Console Library project that contains
two sub-libraries. And each sub-library contains multiple utilties.
>
Quote:
As an experiment, I've created a Console Library project (solution).
Then I've added two projects (they're supposed to be sub-libraries).
However, each project has its own indepent assembly in the form of
a .dll file.
>
Quote:
It seems that there is no way I can create a unified assembly (a
single .dll file) containing both projects (or libraries). Any input
on how to solve this problem? I work with business people who don't
know .NET and they request me to do it this way.
>
You could ask them what they mean...
>
My first impression though would be to create two folders such as SubLib1
and SubLib2 in your single library project. *This gives the classes created
in each folder different namespaces such as Project.SubLib1.Class1,
Project.SubLib2.Class2. *It still compiles to a single dll. *You don't need
to put the classes in separate folders as you could simply change the
namespaces in the class files, but I find it easier to manage them this way.
They want a single assembly that contains a hierarchy of namespaces.
For instance, the assembly is "Utilities". There are two sub-libraries
(sub-namespaces) under "Utilities" called "Lib1" and "Lib2".

When I use each library, I use either namespace "Utilities.Lib1" or
namespace "Utilities.Lib2".

Question regarding your suggestion: I believe by project, you mean
"solution". Is that the case? Do I need to create multiple projects
under the solution for multiple sub-libraries? I guess not, because
that would result in multiple assemblies.

Shall I manually add the folders on the hard drive when I create the
project? How will the solution/pro
=?Utf-8?B?RmFtaWx5IFRyZWUgTWlrZQ==?=
Guest
 
Posts: n/a
#4: Nov 19 '08

re: Sub-libraryies in a main library




"Curious" wrote:
Quote:
>
They want a single assembly that contains a hierarchy of namespaces.
For instance, the assembly is "Utilities". There are two sub-libraries
(sub-namespaces) under "Utilities" called "Lib1" and "Lib2".
>
When I use each library, I use either namespace "Utilities.Lib1" or
namespace "Utilities.Lib2".
>
Question regarding your suggestion: I believe by project, you mean
"solution". Is that the case? Do I need to create multiple projects
under the solution for multiple sub-libraries? I guess not, because
that would result in multiple assemblies.
>
Shall I manually add the folders on the hard drive when I create the
project? How will the solution/pro
>
No, your solution should only need one project. This is why you had
multiple dlls created. To create a single dll, just have one project. In
the solution explorer, right click the project, and one of the options is
"Add" -"New Folder".

Now when you right click on the folder you just created, you can create a
class in that folder defaulting to the folder name as part of the namespace.
In your case, it appears your solution/project will be named "Utilities", and
you will have two folders called "lib1" and "lib2".

Mike

=?Utf-8?B?RmFtaWx5IFRyZWUgTWlrZQ==?=
Guest
 
Posts: n/a
#5: Nov 19 '08

re: Sub-libraryies in a main library



Further info that I just realized I left off my most recent post.

Simply dragging class files that previously existed into the folder will not
change their namespace. The approach I am describing is how I start out a
project. Should you choose to go this way with previously existing class
files, you would need to manually change their namespaces.

Mike
Curious
Guest
 
Posts: n/a
#6: Nov 19 '08

re: Sub-libraryies in a main library


Thanks Mike for the advice! Now I've got it.

If I encounter any problems, I'll post in this thread again.
Curious
Guest
 
Posts: n/a
#7: Nov 21 '08

re: Sub-libraryies in a main library


Thanks Mike for the advice! It works.
Closed Thread