Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


July 11, 2002

Assemblies in .NET Applications


RSS
Subscribe to Windows IT Pro | See More .NET Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

How .NET Applications organize the code they use

I'm still sorting through replies to my call for real-world .NET applications. (If you've got more, email them to me and add to the pile.) While I'm doing that, let's take a look at how .NET applications organize the code they use. Logically, the .NET organizational unit (OU) is the namespace. Physically, the OU is the assembly.

Let's start with assemblies. I touched on the assembly concept in a previous column. An assembly is a collection of types and resources, typically stored as a single .exe or .dll file. (Technically, an assembly can span more than one file, but most assemblies don't.) All types in the .NET Framework must exist in assemblies; the Common Language Runtime (CLR) doesn't support types outside of assemblies. Also, all the types defined in a single assembly are unique to that assembly; a type can have the same name as another type, but if those types are in different assemblies, they're not the same. Each time you create any kind of application or service with Visual Basic .NET, you're building an assembly. Assemblies can be static or dynamic.

An assembly isn't just a file with executable code, however: It's also the tool you use to establish security, type identity, reference, version, and deployment boundaries for the application. The assembly's manifest stores all this information.

The security boundaries in the manifest specify the (optional) rules under which an assembly can run. By default, assemblies aren't secured, but the .NET Framework supports two mechanisms for assembly security. First, signing an assembly with a strong name adds public key encryption to the assembly, which lets you make sure that the code is what you think it is and hasn't been replaced by another assembly with the same name. Second, you can protect an assembly with certificates, which gives you a greater degree of granularity over the security associated with the assembly. For example, a security policy for a particular secured assembly might let the assembly execute but not write to the hard disk.

To avoid name confusion, the type identity information associates a particular type's name with the assembly it belongs to. Think of the type name as the type's first name and the assembly name as the type's surname, which distinguishes it from other types with the same first name.

The reference scope information helps the assembly find types and resources outside the assembly and lists any other assemblies that the current one depends on. The version information describes any version dependencies for the assembly. The default settings for the version information ensure that the .NET application attempts to run only by using the files that it has been tested with, thus avoiding DLL mismatches.

Finally, the deployment information helps the application to be as thin as possible by downloading from the server only the components that the application needs to start. This setup is equivalent to your favorite word processor starting with only the pieces it needs to display and accept text, delaying loading a spell checker until you request that tool.

I've given you a high-level view of assemblies and the role of the manifest, and I'll refer to this information in future columns. Those columns will explore these functions in more detail.

End of Article



Reader Comments
Excellent coverage of material and doubts as this provides lot of information and queries solved.

Thank U

srinivas January 10, 2004


gfhfhgfh

Anonymous User December 25, 2004


good article.

Anonymous User May 17, 2005 (Article Rating: )


It is noty proper decsription of assemblies. It should cover about global assemblies also.


Anonymous User June 08, 2005 (Article Rating: )


best

Anonymous User July 15, 2005 (Article Rating: )


You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
Accessing Database Data with ADO

...

The Memory-Optimization Hoax

Don't believe the hype. At best, RAM optimizers have no effect. At worst, they seriously degrade performance. ...

Friday at PASS Europe 2006

Kevin talks about the closing day of the event and shares a funny Microsoft film. ...


Related Events Check out our list of Free Email Newsletters!

.NET eBooks Configurable components: More convenient versatility than custom parts

Synthetic Lubes Protect Electrical Connections, Reduce Warranty Claims

Speeding mechanical design with Engineering Fluid Dynamics

Related .NET Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.

Job Openings in IT


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

Maximize your SharePoint Investment – 8 Cities
Discover best practices and tips for both architecting and administering SharePoint. Early Bird Price of $99 through Sept 15th.

Find a new job now on the all new IT Job Hound!
Search jobs, post your resume, and set up job e-mail alerts!

Master SharePoint with 3 eLearning Seminars
Learn how to build a better SharePoint infrastructure and enable powerful collaboration with MVPs Dan Holme and Michael Noel. Register today!

Top Tools for Virtualization Disaster Recovery & Replication
View this web seminar on August 14th to learn about two tools that will result in faster backup and restore with P2V disaster recovery.

SharePointConnections Conference Fall 2008
Don’t miss the premier event for Microsoft IT Professionals in Las Vegas, November 10-13. Register and book your room by August 25 and receive a FREE room night (based on a three night minimum stay).

VMworld 2008 - Sign Up Today!
Join your peers on September 15-18 at The Venetian Hotel in Las Vegas as VMware hosts VMworld 2008, the leading Virtualization event.



Increase Application Performance
Free White Paper by Editor's Best winner, Texas Memory Systems.

Microsoft® Tech•Ed EMEA 2008 IT Professionals
Advance your thinking with new ideas and practical real-world solutions at Microsoft’s FIVE day technical infrastructure conference 3-7 Nov., 2008. Register before 26 September 2008 to save €300.

Order Your SQL Fundamentals CD Today!
Learn how to use SQL Server, understand Office integration techniques and dive into the essentials of SQL Express and Visual Basic with this free SQL Fundamentals CD.

Are You Really Compliant with Software Regulations?
View this web seminar that will help you with compliance best practices and check out a management solution to assure that you won’t be in jeopardy of an audit.

Virtualization Congress Oct. 14-16 in London
Don't miss Virtualization Congress, the premiere EMEA conference dedicated to hardware, OS and application virtualization. Oct. 14-16.
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technical Resources Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing