The .NET Framework is a comprehensive programming infrastructure for building desktop, mobile, and Web applications that run on Microsoft Windows. Learning and improving programming skills with dot net framework is easy with the help of the Livecoding.tv tutorials and resources. Our guide is created to support all coding difficulty levels, and with videos and live streaming channels, you’ll get insight into others coders’ projects and learn more tricks. Welcome! read more ...
Introduction to .NET Framework
The .NET Framework (pronounced "dot net") is developed by Microsoft and runs primarily on Windows. It provides an extensive library called the Framework Class Library (FCL). Languages that run on the .NET platform can interact with each other’s code. .NET programs run inside a software environment (as opposed to a hardware environment) called the Common Language Runtime (CLR). The CLR is an application virtual machine that provides security, memory management, and exception handling. Code that runs inside the CLR is called "managed code". Together, the FCL and CLR make up the .NET Framework.
FCL offers many features: user interface components, data access, database connectivity, cryptography, web application components, mathematical algorithms, and networking. Developers can leverage both the FCL and third-party libraries. The .NET Framework is intended to be the primary technology for creating new Windows applications.
.NET started life as a proprietary technology, but Microsoft started on an open standard even before the first public release of .NET. Still, many people in the Free and Open Source software community are uncomfortable with the terms of the .NET licensing, particularly with respect to patents. Microsoft has worked hard to allay these concerns, including issuing an updated patent promise that covers third-party implementations of the .NET standard.
The .NET Framework includes a family of platforms targeting mobile devices, embedded systems, alternative operating systems, and browser plugins. Windows CE, which includes Windows Mobile, can run a reduced version of .NET, called .NET Compact Framework. An even smaller version targeted at embedded devices is called .NET Micro Framework. .NET Core supports cloud-based jobs. An Open Source implementation of .NET called Mono runs on a variety of operating systems, including Android and iOS phones.
.NET development started in the late 1990s under the name Next Generation Windows Services (NGWS). Microsoft released the first beta versions in late 2000.
In August 2000, Hewlett-Packard and Intel joined Microsoft in standardizing the Common Language Infrastructure (CLI) and the C# language. Both were ratified as standards by ECMA in December 2001. They became ISO standards as well in April 2003.
ECMA and ISO demand that all patents covering these standards be licensed under “reasonable and non-discriminatory terms”. Microsoft and its partners also pledged to not charge royalties for these patents. Unfortunately, these terms do not cover parts of the .NET Framework that extend outside the ECMA/ISO standards. This affects Windows Forms, ADO.NET, and ASP.NET. This hinders third parties from building full implementations of .NET.
The source code for the .NET Framework 3.5 libraries is available under the terms of the Microsoft Reference Source License (Ms-RSL). The online repository includes BCL, ASP.NET, ADO.NET, Windows Forms, WPF, and XML. Microsoft’s Scott Guthrie promised that LINQ, WCF, and WF will be added.
Microsoft announced .NET Core on November 12, 2014. The company released the source code for CoreCLR, the libraries for .NET Core. Microsoft also announced a new Open Source model for future development under the leadership of the .NET Foundation. .NET core is a redesign of .NET built on simplified class libraries. Immo Landwerth announced that .NET Core would form “the foundation of all future .NET platforms.” The announcement came at the same time as Microsoft’s decision to remove the more onerous terms of the Ms-RSL from the licensing of the existing .NET reference source.
In November 2014, Microsoft updated its patent grants to broaden their scope. Earlier grants only covered technology described in the 4th editions of ECMA-334 and ECMA-335, leaving projects like Mono in a legal grey area. The new promise covers the technologies in all future versions of the ECMA specifications, as well as all .NET technologies documented on MSDN, whether included in the ECMA specifications or not. The grant is still restricted to implementations that maintain full compliance with the CLI specification.
At Microsoft Build on March 31, 2016, a complete re-licensing of Mno under the MIT license was announced. Microsoft again promised not to assert any “applicable patents” against anyone “using, selling, offering for sale, importing, or distributing Mono.” Mono Project also became part of the .NET Foundation. This occurred in the aftermath of the acquisition of Xamarin.
The press release highlighted the fact that fully Open Source, modern, server-side .NET stacks are possible. There are, however, no plans to release the source code to WPF or Windows Forms.
One of the biggest advantages of the .NET ecosystem is the rich variety of tools available. The language interoperability features of .NET make it easy for every tool to support dozens of languages, and this has led to an embarassment of riches for developers. Here’s a few of our favorite .NET developer tools.
- REFLECTOR .NET Reflector can decompile any .NET code. This lets you understand and fix any .NET software whether you have access to the original source code or not. You can use .NET Reflector to look inside the assemblies of poorly-documented third-party platforms, see how they work, and discover which APIs you can call.
- NUNIT NUnit is a language-agnostic unit-testing framework for .NET. It was originally based on a port of JUnit, but version 3.0 has been completely rewritten to add many new features and support a range of .NET platforms.
- CODERUSH CodeRush debugger makes complex code understandable. Find out why that expression has an unexpected value, when that local changed, and how many times you have been through that loop.
- SNIPPET COMPILER Snippet Compiler compiles snippets. It is a very popular tool recommended by LiveEdu.tv engineers as an alternative to LINQpad.
- NDEPEND NDepend is a code quality tool with Visual Studio integration. Rules are expressed as LINQ queries in an NDepend project file. The rule queries live in the same environment as the code.
- WATIN WatiN is a web-based test automation tool.
- SANDCASTLE Sandcastle creates help files from managed classes. The documentation includes both conceptual topics and detailed API references. API reference topics are generated automatically by analyzing the code itself and by extracting annotations from special XML-formatted comments. Conceptual topics are described in XML documents written using Microsoft Assistance Markup Language (MAML). Sandcastle is a command line tool, and relies on third-party project management and build automation.
- NANT NAnt is a build tool for .NET projects, inspired by Ant. NAnt tasks are modeled with classes. Configuration files use XML and call out target trees to execute tasks. Individual tasks are executed by objects that implement the relevant interface.
.NET Best Books
Discover the essential truths of programming languages, and take advantage of the particular benefits of the Visual Basic .NET development environment. Understand fundamental programming concepts such as variables, operators, control structures, loops, procedures, and arrays, then incorporate these concepts into a sophisticated graphical user interface. Learn to combine rapid application development -- long a staple of Visual Basic -- with complete object-oriented programming support. Explore advanced topics such as debugging, file access, and databases.
Visual Basic. NET, the latest distribution of Microsoft’s programming language was designed to let anybody—even people with no prior programming experience—create sophisticated programs with stunning user interfaces, quickly and easily. A true marvel of computing technology, Visual Basic .NET combines BASIC, the only programming language specifically designed to teach beginners how to program, with a completely intuitive drawing program that lets you create cool user interfaces without having to write a single line of code.
Get the expert insights, practical code samples, and best practices you need to advance your expertise with Visual Basic .NET 2003. Now updated for Microsoft .NET Framework 1.1, Visual Studio .NET 2003, and Windows Server 2003, this popular reference delves even deeper into Visual Basic .NET capabilities—and accelerates your productivity with new features and techniques—for faster, more reliable code. From fully exploiting the language’s advanced object-oriented capabilities to reusing legacy Visual Basic code, this exhaustive reference delivers the professional, pragmatic guidance you need to produce rich solutions for Microsoft Windows and the Web.
Essential C# 3.0 is an extremely well-written and well-organized “no-fluff” guide to C# 3.0, which will appeal to programmers at all levels of experience with C#. This fully updated edition dives deep into the new features that are revolutionizing programming, with brand new chapters covering query expressions, lambda expressions, extension methods, collection interface extensions, standard query operators, and LINQ as a whole.
by Jason Bock
The Common Intermediate Language (CIL) is the core language of .NET. Although .NET developers often use a high-level language (such as C# or VB .NET) to develop their systems, they can use CIL to do anything allowed by.NET specificationswhich is not the case for C# and VB .NET. Understanding how CIL works will provide you with a deep, language-independent insight into the core parts of .NET. This knowledge is essential for creating dynamic types, a powerful part of the .NET Framework.
Advanced .NET Programming is the perfect next step for developers who have learned a .NET language and the basic workings of the Common Language Runtime, and who now want to move to the next level. Although we look in some detail at the workings of the CLR, the focus throughout the book is on the practical information that you need to know to write applications that really get the most out of .NET.
“Mario Hewardt’s Advanced .NET Debugging is an excellent resource for both beginner and experienced developers working with .NET. The book is also packed with many debugging tips and discussions of CLR internals, which will benefit developers architecting software.”–Jeffrey Richter, consultant, trainer, and author at Wintellect
Microsoft Visual Basic .NET provides the productivity features developers need to rapidly create enterprise-critical web applications. In Visual Basic .NET and the .NET Platform: An Advanced Guide, author Andrew Troelsen shows experienced developers how to use VB .NET for developing virtually every possible kind of .NET application. From Windows-based to web-based applications, ADO .NET, XML Web services, and object-oriented language features, it's all here.
It takes only a few minutes with Google to see that there are many, many projects built with .NET
.NET’s language interoperability means that application developers don’t have to care what language their libraries are actually built in. Even developers working in unusual languages like F# have access to a seemingly endless list of support infrastructure. To help you navigate all this choice, here’s our top choices for .NET libraries and products.
nopCommerce is an Open Source shopping cart.
There’s a number of options for inter-process messaging under .NET
AzureNetQ is an interface to the Azure Service Bus. EasyNetQ is a .NET interface to RabbitMQ. Lime is a lean and mean messaging library. Mass Transit is a service bus for loosely coupled architectures. Finally, RestBus provides asynchronous messaging and queueing.
The .NET Foundation is an independent organization that fosters the development of Open Source technologies around .NET.
The forum is open to both hobbyist and commercial developers. It protects the future of .NET by promoting openness and broad participation in innovation. It provides support services to a growing
The .NET Foundation is an independent forum to foster open development and collaboration around the growing collection of open source technologies around the .NET development framework. It provides services to a long list of projects.
Jon Galloway is a Senior Technical Evangelist for Microsoft, with a specialty in ASP.NET MVC. He co-authored The ASP.NET Anthology and helps run the Herding Code podcast. He has a blog, a Twitter account, a GitHub account, and a Stack Overflow account.Blog Twitter GitHub Stack Overflow
Scott Guthrie is a Cloud and Enterprise Executive Vice President at Microsoft. He has lead teams that built ASP.NET, Silverlight, WPF, CLR, IIS, Media Server, and the Visual Studio Tools for web development and Windows Phone 7. He created ASP.NET with Mark Anders. He spoke at FutureStack 13. He has a blog, a Twitter account, and a GitHub account.Blog Twitter GitHub
You can accomplish two things by attending conferences: keeping your knowledge sharp, and meeting new people. The second one is important because you never know who will help you land that next job! Fortunately, there are tons of conferences focused on the .NET Framework. You can find a long list of upcoming .NET conferences on Lanyrd.