.NET Framework Fundamentals

The .NET Framework is a development and execution environment that allows different programming languages & libraries to work together seamlessly to create Windows-based applications that are easier to build, manage, deploy, and integrate with other networked systems.

The .NET Framework consists of:

  • The Common Language Runtime (CLR)
    A language-neutral development & execution environment that provides services to help "manage" application execution
  • The Framework Class Libraries (FCL)
    A consistent, object-oriented library of prepackaged functionality

This section provides a set of resources to help you understand the key concepts that the .NET Framework is based on and learn how those concepts change the way in which you develop applications.


Essentials

Microsoft .NET Framework FAQ
Get answers to frequently asked questions about the Microsoft .NET Framework
.NET Type Fundamentals
Jeffrey Richter discusses type fundamentals: primitive types, reference types and value types.
Programming for the New Platform
Jeffrey Richter discusses the object-oriented design of the .NET framework and provides some insight into some of the key features.
Microsoft .NET Framework Delivers the Platform for an Integrated Service-Oriented Web
This article, the first of a two-part series, illustrates how the .NET Framework enables you to quickly build and deploy Web services and applications in any programming language. Microsoft Intermediate Language and JIT compiler, which make this reuse possible, are described, as well as managed components, assemblies, and the Common Type System (CTS).
Microsoft .NET Framework Delivers the Platform for an Integrated Service-Oriented Web (Part 2)
Jeffrey Richter completes the .NET Framework overview begun in the September 2000 issue of MSDN Magazine. He discusses the common language specification and ILDasm and the MSIL disassembler, as well as how metadata, manifests, and assemblies simplify deployment and versioning.
.NET Framework: Building, Packaging, Deploying, and Administering Applications and Types
This article describes the building, packaging, and deploying of applications and types for the .NET Framework, including the role and significance of assemblies, private and otherwise. The way metadata and assemblies help to solve some historical problems like versioning conflicts and DLL Hell, and how they improve system stability are also discussed.
.NET Framework: Building, Packaging, Deploying, and Administering Applications and Types (Part 2)
Part 1 of this series discussed how types built for the common language runtime can be shared among applications in the Microsoft .NET Framework regardless of the .NET languages used to build them. This second part continues with building assemblies by first covering security, sharing assemblies, versioning, localization, and side-by-side execution. Because in .NET two DLLs with the same name can be loaded as long as another attribute—which can include the localization language—differs, versioning is much easier than it used to be, so DLL Hell may become a thing of the past.
Introduction to .NET, Hello World and a Quick Look Inside the .NET Runtime
Discusses why the .NET Framework exists, how to develop your first .NET Framework program in either Visual Basic .NET or C#, and how to run it as an ASP.NET application.
Simplifying Deployment and Solving DLL Hell with the .NET Framework
This article introduces the concept of an assembly and describes how the .NET Framework uses assemblies to solve versioning and deployment problems.
Avoiding DLL Hell: Introducing Application Metadata in the Microsoft .NET Framework
This article describes the use of metadata for easy linking and loading of assemblies, the relationship between metadata and concepts such as IDL and type libraries, and the metadata hierarchy. The process of reading metadata from assemblies for easy versioning is also described. Although Microsoft provides the MSIL disassembler, ILDASM, and MetaInfo.exe for accessing metadata, the author provides two sample programs that read metadata using the unmanaged metadata interfaces and the Reflection API.
Side-by-Side Execution of the .NET Framework
Get in-depth information about side-by-side execution of the Microsoft .NET Framework intended for individuals who are building or configuring .NET Framework applications or components.

Articles

Compare Microsoft .NET to J2EE Technology
Downloadable whitepapers, benchmark comparisons, and sample source code designed to help you evaluate Microsoft .NET vs. J2EE application server technologies.
The .NET Show: Understanding the Framework
Brad Abrams and Chris Anderson provide some of the background and concepts that gave birth to the .NET Framework, explain how they worked with the various groups to provide a consistent object model, and walk us through various parts of the .NET Framework to give you a better understanding of how to use it effectively within your applications.
The .NET Show: Your First .NET Application
In this episode of The .NET Show we talk with two developers from Saltmine, Jason Roos and Ean Hernandez. They brought with them a simplified example of what it takes to write a .NET Web service, and they will walk us through the entire process to show how simple it is.
The .NET Show: The .NET Compact Framework
In this episode of The .NET Show we talk with David Rasmussen, Oshoma Momoh, and Ed Kaim about the features, benefits, implementation details, and programming methodologies that the .NET Compact Framework enables.
The .NET Show: Application Architecture
Shaun Hayes, Maarten Mullender, and Keith Short share with us their thoughts about the importance of application architecture and discuss how the .NET Framework plays a role in helping to provide a structure that can be used for basing your future applications on.
The .NET Show: Debugging with Visual Studio .NET
Shaykat Chaudhuri and Habib Heydarian talk about just a few of the debugging features and capabilities of Visual Studio .NET. They will show how easy it is to debug a local client application, a remote ASP.NET server component, as well how to use Visual Studio .NET to debug a SQL Server stored procedure.
Conversations on .NET
Microsoft engineers, designers, and developers look at issues involving C#, ASP.NET, and the common language runtime. Interviewees include Anders Hejlsberg, Peter Golde, Mark Anders, Scott Guthrie, and Brian Harry.
Grady Booch Discusses .NET and the Art of Software Development
Grady Booch discusses the impact of Microsoft .NET and Visual Studio .NET on the world of software development.

Interfaces And Classes

Creating Classes in Visual Basic .NET
Paul Sheriff shows how to create a class in Microsoft Visual Basic .NET, describing the differences between Visual Basic 6.0 and Visual Basic .NET with regard to classes, and tells how to add properties and methods to a class.
Variable and Method Scope in Microsoft .NET
Paul Sheriff shows how to define the scope of variables, set the scope of function and sub procedures, and how to scope methods in a class in Microsoft .NET.
Overloading Methods in Visual Basic .NET
Paul Sheriff discusses how Microsoft Visual Basic .NET figures out which method to call during compile based on the parameter types that you pass. This technique is called overloading a method.
Inheritance from a Base Class in Microsoft .NET
Paul Sheriff explains inheritance, shows how to inherit from a base class, and describes implementation and interface inheritance in Microsoft .NET.
Inheritance and Interfaces
Andy Baron discusses the differences between class inheritance and interface implementation in Microsoft Visual Basic .NET.
Special .NET Type Members
Jeffrey Richter takes a look at some of the special members that a type can define - members that encourage good object-oriented design while greatly simplifying the syntax required to manipulate a type and its object instances.