473,406 Members | 2,345 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Difference between Assembly and Module?

Uh...a bit ashamed to admit this now that I have been programming in C# for
a while...but I still don't clearly understand from the documentation what
the difference between an Assembly and a Module, and when I would use
anything else than Assembly for reflection purposes...

Assembly is the actual dll, or exe file, right?

Module is...? A subset of an assembly? a superset? Nothing to do with it at
all?

And btw: if an application has one exe, and 2 dll -- what is the term for
this totality if any -- or just 'application'?
Sorry for being obtuse on this one ...
Sky

Nov 16 '05 #1
6 15791
Sky Sigal <as*******@xact-solutions.removethis.com> wrote:
Uh...a bit ashamed to admit this now that I have been programming in C# for
a while...but I still don't clearly understand from the documentation what
the difference between an Assembly and a Module, and when I would use
anything else than Assembly for reflection purposes...

Assembly is the actual dll, or exe file, right?

Module is...? A subset of an assembly? a superset? Nothing to do with it at
all?
An assembly is formed from potentially many modules. The manifest of
the assembly list what the modules are. The assemblies built by VS.NET
2003 are (IIRC) all single-module assemblies.
And btw: if an application has one exe, and 2 dll -- what is the term for
this totality if any -- or just 'application'?


Just application, yes.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #2
Thanks Jon (wow! that was fast response :-))
Ok. I think what you telling me is: for the moment (till 2005?), since the
compiler spits out SingleModule Assemblies only, there is no need to
investigate Reflection via Modules -- the results will be identical as what
can be enumerated via use of Assembly.

This may change in the future.

Thanks,
Sky
"Jon Skeet [C# MVP]" <sk***@pobox.com> wrote in message
news:MP************************@msnews.microsoft.c om...
Sky Sigal <as*******@xact-solutions.removethis.com> wrote:
Uh...a bit ashamed to admit this now that I have been programming in C# for a while...but I still don't clearly understand from the documentation what the difference between an Assembly and a Module, and when I would use
anything else than Assembly for reflection purposes...

Assembly is the actual dll, or exe file, right?

Module is...? A subset of an assembly? a superset? Nothing to do with it at all?


An assembly is formed from potentially many modules. The manifest of
the assembly list what the modules are. The assemblies built by VS.NET
2003 are (IIRC) all single-module assemblies.
And btw: if an application has one exe, and 2 dll -- what is the term for this totality if any -- or just 'application'?


Just application, yes.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Nov 16 '05 #3
A module is the code generated from a single file. A single file can contain
one or more classes so a module may have one or more classes.

Classes, or modules, are distributed in Assemblies along with other embedded
informatiuon such as resources in the form of strings and images. The types
or modules themselves hold no version information. That's all maintained in
the assembly.

The default method for creating an executable file, either EXE or DLL from
Visual Studio is to compile all the files and make an assembly containing
the modules defined in the project. You can however create assemblies
manually using the Assembly Linker program AL.EXE. This enables you to
create single assemblies from several other assemblies. AL can do this
because it can extract the modules from one or more assemblies and create a
new assembly containing them.

--
Bob Powell [MVP]
Visual C#, System.Drawing

The Image Transition Library wraps up and LED style instrumentation is
available in the June of Well Formed for C# or VB programmers
http://www.bobpowell.net/currentissue.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/gdiplus_faq.htm

The GDI+ FAQ RSS feed: http://www.bobpowell.net/faqfeed.xml
Windows Forms Tips and Tricks RSS: http://www.bobpowell.net/tipstricks.xml
Bob's Blog: http://bobpowelldotnet.blogspot.com/atom.xml


"Sky Sigal" <as*******@xact-solutions.removethis.com> wrote in message
news:OG**************@TK2MSFTNGP09.phx.gbl...
Uh...a bit ashamed to admit this now that I have been programming in C# for a while...but I still don't clearly understand from the documentation what
the difference between an Assembly and a Module, and when I would use
anything else than Assembly for reflection purposes...

Assembly is the actual dll, or exe file, right?

Module is...? A subset of an assembly? a superset? Nothing to do with it at all?

And btw: if an application has one exe, and 2 dll -- what is the term for
this totality if any -- or just 'application'?
Sorry for being obtuse on this one ...
Sky

Nov 16 '05 #4
Sky Sigal <as*******@xact-solutions.removethis.com> wrote:
Thanks Jon (wow! that was fast response :-))
Ok. I think what you telling me is: for the moment (till 2005?), since the
compiler spits out SingleModule Assemblies only, there is no need to
investigate Reflection via Modules -- the results will be identical as what
can be enumerated via use of Assembly.
Yup, I believe so. (You can create multi-module assemblies by hand, of
course.)
This may change in the future.


I suspect there'll still be little reason to use reflection on
individual modules - normally it'll be fine to operate on the whole
assembly. I don't even know whether VS.NET 2005 will actually create
multi-module assemblies. The usual reason for it from the command line
is to use multiple languages for the same assembly.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #5
Now THAT finally makes sense to me :-)

Ok. So Module = original filename.
A Module can have one or more classdefs in it.
An Assembly can have one or more Modules in it.

Wow. Finally! Thank you.
Sky

"Bob Powell [MVP]" <bob@_spamkiller_bobpowell.net> wrote in message
news:%2******************@TK2MSFTNGP10.phx.gbl...
A module is the code generated from a single file. A single file can contain one or more classes so a module may have one or more classes.

Classes, or modules, are distributed in Assemblies along with other embedded informatiuon such as resources in the form of strings and images. The types or modules themselves hold no version information. That's all maintained in the assembly.

The default method for creating an executable file, either EXE or DLL from
Visual Studio is to compile all the files and make an assembly containing
the modules defined in the project. You can however create assemblies
manually using the Assembly Linker program AL.EXE. This enables you to
create single assemblies from several other assemblies. AL can do this
because it can extract the modules from one or more assemblies and create a new assembly containing them.

--
Bob Powell [MVP]
Visual C#, System.Drawing

The Image Transition Library wraps up and LED style instrumentation is
available in the June of Well Formed for C# or VB programmers
http://www.bobpowell.net/currentissue.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/gdiplus_faq.htm

The GDI+ FAQ RSS feed: http://www.bobpowell.net/faqfeed.xml
Windows Forms Tips and Tricks RSS: http://www.bobpowell.net/tipstricks.xml
Bob's Blog: http://bobpowelldotnet.blogspot.com/atom.xml


"Sky Sigal" <as*******@xact-solutions.removethis.com> wrote in message
news:OG**************@TK2MSFTNGP09.phx.gbl...
Uh...a bit ashamed to admit this now that I have been programming in C#

for
a while...but I still don't clearly understand from the documentation what the difference between an Assembly and a Module, and when I would use
anything else than Assembly for reflection purposes...

Assembly is the actual dll, or exe file, right?

Module is...? A subset of an assembly? a superset? Nothing to do with it

at
all?

And btw: if an application has one exe, and 2 dll -- what is the term for this totality if any -- or just 'application'?
Sorry for being obtuse on this one ...
Sky


Nov 16 '05 #6
That was a clear and articulate answer. Thank you for graduating
reading comprhension class. :-)

--
<%= Clinton Gallagher
A/E/C Consulting, Web Design, e-Commerce Software Development
Wauwatosa, Milwaukee County, Wisconsin USA
NET csgallagher@ REMOVETHISTEXT metromilwaukee.com
URL http://www.metromilwaukee.com/clintongallagher/

"Bob Powell [MVP]" <bob@_spamkiller_bobpowell.net> wrote in message
news:#s**************@TK2MSFTNGP10.phx.gbl...
A module is the code generated from a single file. A single file can contain
one or more classes so a module may have one or more classes.

Classes, or modules, are distributed in Assemblies along with other embedded
informatiuon such as resources in the form of strings and images. The types
or modules themselves hold no version information. That's all maintained in
the assembly.

The default method for creating an executable file, either EXE or DLL from
Visual Studio is to compile all the files and make an assembly containing
the modules defined in the project. You can however create assemblies
manually using the Assembly Linker program AL.EXE. This enables you to
create single assemblies from several other assemblies. AL can do this
because it can extract the modules from one or more assemblies and create a
new assembly containing them.

--
Bob Powell [MVP]
Visual C#, System.Drawing

The Image Transition Library wraps up and LED style instrumentation is
available in the June of Well Formed for C# or VB programmers
http://www.bobpowell.net/currentissue.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/gdiplus_faq.htm

The GDI+ FAQ RSS feed: http://www.bobpowell.net/faqfeed.xml
Windows Forms Tips and Tricks RSS: http://www.bobpowell.net/tipstricks.xml
Bob's Blog: http://bobpowelldotnet.blogspot.com/atom.xml


"Sky Sigal" <as*******@xact-solutions.removethis.com> wrote in message
news:OG**************@TK2MSFTNGP09.phx.gbl...
Uh...a bit ashamed to admit this now that I have been programming in C#

for
a while...but I still don't clearly understand from the documentation what
the difference between an Assembly and a Module, and when I would use
anything else than Assembly for reflection purposes...

Assembly is the actual dll, or exe file, right?

Module is...? A subset of an assembly? a superset? Nothing to do with it

at
all?

And btw: if an application has one exe, and 2 dll -- what is the term for
this totality if any -- or just 'application'?
Sorry for being obtuse on this one ...
Sky


Nov 16 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

26
by: nospam | last post by:
Just wondering, What do you think the difference in performance would be between (1.) Compiled C# (2.) Compiled C++ (3.) and Assembly Language And how would the mix be if some if any of...
4
by: BrianS | last post by:
What is the best strategy for dynamic loading private assemblies in asp.net? I understand, and have confirmed, that any dll placed in the app's /bin dir will get loaded on startup. This is not...
16
by: A_PK | last post by:
Hi, I am a VB.net beginner, I do not know what are the major difference between Module vs Class. Could someone guide me when is the best situation to use Module or Class. I have no idea...
9
by: Rudy | last post by:
Hello All! I'm a little confused on Public Class or Modules. Say I have a this on form "A" Public Sub Subtract() Dim Invoice As Decimal Dim Wage As Decimal Static PO As Decimal Invoice =...
0
by: Shehryar | last post by:
AOA, I urgently want to know the major difference between "Module" and a "Class Module". Plz, reply me as early as possible. Thanx!
3
ram09
by: ram09 | last post by:
After deploying our site in the iis7 server, we encountered this error... ModuleName AspNetInitializationExceptionModule Notification 1 HttpStatus 500 HttpReason Internal Server Error ...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.