A Windows DLL contains library code to be used by any program running on Windows. A DLL may contain either structured or object oriented libraries.
COM (Component Object Model) is the component model based on the object oriented design, which means that the components represented by the COM component exists in the form of classes and objects implementing a standard specification defined by COM. COM components
can be used by any program running on Windows Operating System; be it is written with VB, C++, Java or even some .NET compliant language like C# and VB.NET.
Dot NET assembly is the component standard specified by the .NET. Hence, dot net assemblies are understandable to only Microsoft.NET and can be used only in .NET managed applications.
I will speak for versioning - version 1 , version 2 :
Regular DLL -a library of function- usually replaced brutally for next version -and error prone
COM DLL - same as Regular, but must be registered in the sistem and can be modified from v1 - to v2 very difficult (search for DLL Hell)
.NET DLL - a library of functions that can have multiple versions side by side and the application should load( via config file) what the application needs .
A dynamic-link library (DLL) is an executable file that acts as a shared library of functions. Dynamic linking provides a way for a process to call a function that is not part of its executable code. The executable code for
the function is located in a DLL, which contains one or more functions that are compiled, linked, and stored separately from the processes that use them. DLLs also facilitate the sharing of data and resources. Multiple applications can simultaneously access
the contents of a single copy of a DLL in memory
The Component Object Model (COM) is a component software architecture that allows applications and systems to be built from components supplied by different software vendors. COM is the underlying architecture that forms the foundation for higher-level software
services, like those provided by OLE. OLE services span various aspects of component software, including compound documents, custom controls, inter-application scripting, data transfer, and other software interactions.
This is the WINDOWS definitive guide, and corresponding updates to what .DLL 's are. Including .NET Assemblies.
Other systems... And History...
In DOS, and in PRE-WIN32 environments, .DLL files were the accompanying libraries that could be upgraded independently of the application or application suite.
Because of this, versioning became VERY important.
In WIN16, .DLL files installed by different vendors (with the same .DLL filename) caused the proverbial DLL-HELL, and great care was required to verify and make sure that the Correct-Up-To-Date version with supported legacy call structures was the one that
was used/left on the system. Like running QEMM or MEMMAKER, this was a bit of an art, and certain individuals had a good talent to do this type of work.
In real-time and small memory form factor systems, a .DLL was not the preferred method, Static Libraries that were included in the Program Image was the norm,
but if memory was a factor, Static Libraries were usually encoded in EEPROM with either stack memory dynamic allocation or Low Memory Block reservations used for Scratch Space or Variables.
A .DLL would/could also be ROM-ed with active patching occurring when the library load to memory call was made (DLL's in this case were known as "Loadable Modules" from ROM" the Macintosh Toolbox was a good example of this. )
webfriend13
Member
20 Points
60 Posts
Difference between normal DLL & .net DLL
Mar 16, 2010 10:03 AM|LINK
Hi All,
What is a difference between a regular DLL & .net DLL ?
Thanks in adavnce
vik20000in
All-Star
25882 Points
3993 Posts
MVP
Re: Difference between normal DLL & .net DLL
Mar 16, 2010 10:18 AM|LINK
A Windows DLL contains library code to be used by any program running on Windows. A DLL may contain either structured or object oriented libraries.
COM (Component Object Model) is the component model based on the object oriented design, which means that the components represented by the COM component exists in the form of classes and objects implementing a standard specification defined by COM. COM components can be used by any program running on Windows Operating System; be it is written with VB, C++, Java or even some .NET compliant language like C# and VB.NET.
Dot NET assembly is the component standard specified by the .NET. Hence, dot net assemblies are understandable to only Microsoft.NET and can be used only in .NET managed applications.
www.vikramlakhotia.com
Please mark the answer if it helped you
ignatandrei
All-Star
137690 Points
22151 Posts
Moderator
MVP
Re: Difference between normal DLL & .net DLL
Mar 16, 2010 10:22 AM|LINK
There are actually 3 kinds of dll
I will speak for versioning - version 1 , version 2 :
Regular DLL -a library of function- usually replaced brutally for next version -and error prone
COM DLL - same as Regular, but must be registered in the sistem and can be modified from v1 - to v2 very difficult (search for DLL Hell)
.NET DLL - a library of functions that can have multiple versions side by side and the application should load( via config file) what the application needs .
pauldaniel
Contributor
2092 Points
342 Posts
Re: Difference between normal DLL & .net DLL
Apr 20, 2010 07:59 AM|LINK
A dynamic-link library (DLL) is an executable file that acts as a shared library of functions. Dynamic linking provides a way for a process to call a function that is not part of its executable code. The executable code for the function is located in a DLL, which contains one or more functions that are compiled, linked, and stored separately from the processes that use them. DLLs also facilitate the sharing of data and resources. Multiple applications can simultaneously access the contents of a single copy of a DLL in memory
The Component Object Model (COM) is a component software architecture that allows applications and systems to be built from components supplied by different software vendors. COM is the underlying architecture that forms the foundation for higher-level software services, like those provided by OLE. OLE services span various aspects of component software, including compound documents, custom controls, inter-application scripting, data transfer, and other software interactions.
http://www.dotcominfoway.com/
cnranasinghe
Star
8899 Points
1800 Posts
Re: Difference between normal DLL & .net DLL
Apr 23, 2010 07:32 AM|LINK
Old ddls are need to be registered in the registry to use, but .net dlls don't need that.
The Wooden T...
Member
2 Points
7 Posts
Re: Difference between normal DLL & .net DLL
Jul 21, 2010 02:09 PM|LINK
For Starters, here is the Microsoft Description.
http://support.microsoft.com/kb/815065
This is the WINDOWS definitive guide, and corresponding updates to what .DLL 's are. Including .NET Assemblies.
Other systems... And History...
In DOS, and in PRE-WIN32 environments, .DLL files were the accompanying libraries that could be upgraded independently of the application or application suite.
Because of this, versioning became VERY important.
In WIN16, .DLL files installed by different vendors (with the same .DLL filename) caused the proverbial DLL-HELL, and great care was required to verify and make sure that the Correct-Up-To-Date version with supported legacy call structures was the one that was used/left on the system. Like running QEMM or MEMMAKER, this was a bit of an art, and certain individuals had a good talent to do this type of work.
In real-time and small memory form factor systems, a .DLL was not the preferred method, Static Libraries that were included in the Program Image was the norm,
but if memory was a factor, Static Libraries were usually encoded in EEPROM with either stack memory dynamic allocation or Low Memory Block reservations used for Scratch Space or Variables.
A .DLL would/could also be ROM-ed with active patching occurring when the library load to memory call was made (DLL's in this case were known as "Loadable Modules" from ROM" the Macintosh Toolbox was a good example of this. )
-sean
Static Libraries WIN16 .DLL .net.DLL WIN32