.NET Framework Overview

Slides:



Advertisements
Similar presentations
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University St. Kliment Ohridski.
Advertisements

Unit 1: Overview of the Microsoft.NET Platform
Introduction to .NET Framework
.NET Framework Overview
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
.NET Session Prepared By : Manu Sharma IBE Team. Topics Types of.NET Applications.NET Framework CLR Garbage Collection Importance of.NET.
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
.NET Technology.
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.Net Overview Giuseppe Attardi Università di Pisa.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
ISYS 512 Business Application Design and Development with.Net David Chao.
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University “St. Kliment Ohridski”
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Rajeswari Indupuri Introduction to.NET Framework.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
CSCI 3327 Visual Basic Chapter 1: Introduction to Visual Basic
Introduction to .Net Framework
Introduction to Programming
ISYS 512 Business Application Design and Development with.Net David Chao.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
High thoughts must have high language. Aristophanes
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Session 1 - Introduction and Data Access Layer
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
.NET Framework & C#.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Introduction to .NET Framework
Understanding Code Compilation and Deployment Lesson 4.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Compiling and Executing Code in.Net Microsoft Intermediate Language and Common Language Runtime.
.NET Framework Overview
Introduction .NET Framework
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
.NET Framework Danish Sami UG Lead.NetFoundry
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
AUC Technologies Projects Consulting, Development, Mentoring, and Training Company Application Foundation Presented By : Naveed Sattar Software Engineer.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
So what is.NET? .NET is a platform that provides a standardized set of services.  It’s just like Windows, except distributed over the Internet.  It.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
Architecture of.Net Framework. Multiple Language Support  IL (MSIL or CIL) – Intermediate Language  It is low-level (machine) language, like Assembler,
ISYS 512 Business Application Design and Development with.Net David Chao.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
COMP Week 9 Chunbo Chu. So what is.NET?.NET is a platform that provides a standardized set of services. A new framework for developing web-based.
.NET Framework, CLR, MSIL, Assemblies, CTS, etc..
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Introducing the Microsoft® .NET Framework
What is .NET.
Introduction to .NET framework
Application Foundation
Introduction to C# AKEEL AHMED.
Presentation transcript:

.NET Framework Overview .NET Framework, CLR, MSIL, Assemblies, CTS, etc. Svetlin Nakov Telerik Corporation www.telerik.com

Table of Contents What is .NET? What is .NET Framework? * 07/16/96 Table of Contents What is .NET? Microsoft .NET platform architecture What is .NET Framework? .NET Framework Architecture Common Language Runtime (CLR) Managed Code Intermediate Language MSIL Assemblies and Metadata .NET Applications (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

* 07/16/96 Table of Contents (2) Common Language Infrastructure (CLI) and integration of different languages Common Language Specification (CLS) Common Type System (CTS) Framework Class Library Integrated Development Environment Visual Studio (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

* Microsoft's Platform for Application Development 07/16/96 .NET Framework Microsoft's Platform for Application Development (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

What is the .NET Platform? * 07/16/96 What is the .NET Platform? The .NET platform Microsoft's platform for software development Unified technology for development of almost any kind of applications GUI / Web / RIA / mobile / server / cloud / etc. .NET platform versions .NET Framework Silverlight / Windows Phone 7 .NET Compact Framework (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

What is .NET Framework? .NET Framework It is commonly assumed that * 07/16/96 What is .NET Framework? .NET Framework An environment for developing and executing .NET applications Unified programming model, set of languages, class libraries, infrastructure, components and tools for application development Environment for controlled execution of managed code It is commonly assumed that .NET platform == .NET Framework (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Components * 07/16/96 .NET Framework Components Common Language Runtime (CLR) Environment for controlled execution of programmed code – like a virtual machine Executes .NET applications Framework Class Library (FCL) Standard class library for .NET development Delivers basic functionality for developing: XML, ADO.NET, LINQ, ASP.NET, WPF, WCF, WWF, Silverlight, Web services, Windows Forms, ... SDK, compilers and tools (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture * 07/16/96 .NET Framework Architecture The OS manages the resources, the processes and the users of the machine Provides to the applications some services (threads, I/O, GDI+, DirectX, COM, COM+, MSMQ, IIS, WMI, …) CLR is a separate process in the OS Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture (2) * 07/16/96 .NET Framework Architecture (2) CLR manages the execution of the.NET code Manages the memory, concurrency, security, ... CLR Common Language Runtime (CLR) Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture (3) * 07/16/96 .NET Framework Architecture (3) Rich object-oriented library with fundamental classes Input-output, collections, text processing, networking, security, multi-threading, … Base Class Library (BCL) Common Language Runtime (CLR) Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture (4) * 07/16/96 .NET Framework Architecture (4) Database access ADO.NET, LINQ, LINQ-to-SQL and Entity Framework Strong XML support ADO.NET, LINQ and XML (Data Tier) Base Class Library (BCL) Common Language Runtime (CLR) Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture (5) * 07/16/96 .NET Framework Architecture (5) Windows Communication Foundation (WCF) and Windows Workflow Foundation (WWF) for the SOA world WCF and WWF (Communication and Workflow Tier) ADO.NET, LINQ and XML (Data Tier) Base Class Library (BCL) Common Language Runtime (CLR) Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture (6) * 07/16/96 .NET Framework Architecture (6) User interface technologies: Web based, Windows GUI, WPF, Silverlight, mobile, … ASP.NET Web Forms, MVC, AJAX Mobile Internet Toolkit Windows Forms WPF Silverlight WCF and WWF (Communication and Workflow Tier) ADO.NET, LINQ and XML (Data Tier) Base Class Library (BCL) Common Language Runtime (CLR) Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Architecture (7) * 07/16/96 .NET Framework Architecture (7) Programming language on your flavor! C# C++ VB.NET J# F# JScript Perl Delphi … ASP.NET Web Forms, MVC, AJAX Mobile Internet Toolkit Windows Forms WPF Silverlight WCF and WWF (Communication and Workflow Tier) ADO.NET, LINQ and XML (Data Tier) Base Class Library (BCL) Common Language Runtime (CLR) Operating System (OS) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework 4.0

Common Language Runtime (CLR) * 07/16/96 Common Language Runtime (CLR) The Heart of .NET Framework (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Common Language Runtime (CLR) * 07/16/96 Common Language Runtime (CLR) Managed execution environment Controls the execution of managed .NET programming code Something like virtual machine Like the Java Virtual Machine (JVM) Not an interpreter Compilation on-demand is used Known as Just In Time (JIT) compilation Possible compilation in advance (Ngen) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Responsibilities of CLR * 07/16/96 Responsibilities of CLR Execution of the IL code and the JIT compilation Managing memory and application resources Ensuring type safety Interaction with the OS Managing security Code access security Role-based security (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Responsibilities of CLR (2) Managing exceptions Managing concurrency – controlling the parallel execution of application threads Managing application domains and their isolation Interaction with unmanaged code Supporting debug / profile of .NET code

Base Class Library Support * 07/16/96 CLR Architecture Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native JIT Compiler Code Manager Garbage Collector Class Loader (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Managed and Unmanaged Code * 07/16/96 Managed and Unmanaged Code What is the Difference? (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Managed Code CLR executed code is called managed code * 07/16/96 Managed Code CLR executed code is called managed code Represents programming code in the low level language MSIL (MS Intermediate Language) Contains metadata Description of classes, interfaces, properties, fields, methods, parameters, etc. Programs, written in any .NET language are Compiled to managed code (MSIL) Packaged as assemblies (.exe or .dll files) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Managed Code (2) Object-oriented Secure Reliable * 07/16/96 Managed Code (2) Object-oriented Secure Reliable Protected from irregular use of types (type-safe) Allows integration between components and data types of different programming languages Portable between different platforms Windows, Linux, Max OS X, etc. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Unmanaged (Win32) Code No protection of memory and type-safety Reliability problems Safety problems Doesn’t contain metadata Needs additional overhead like (e.g. use COM) Compiled to machine-dependent code Need of different versions for different platforms Hard to be ported to other platforms

Memory Management CLR manages memory automatically * 07/16/96 Memory Management CLR manages memory automatically Dynamically loaded objects are stored in the managed heap Unusable objects are automatically cleaned up by the garbage collector Some of the big problems are solved Memory leaks Access to freed or unallocated memory Objects are accessed through a reference (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Intermediate Language (MSIL) * 07/16/96 Intermediate Language (MSIL) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Intermediate Language (MSIL, IL, CIL) * 07/16/96 Intermediate Language (MSIL, IL, CIL) Low level language (machine language) for the .NET CLR Has independent set of CPU instructions Loading and storing data, calling methods Arithmetic and logical operations Exception handling Etc. MSIL is converted to instructions for the current physical CPU by the JIT compiler (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

* 07/16/96 Sample MSIL Program .method private hidebysig static void Main() cil managed { .entrypoint // Code size 11 (0xb) .maxstack 8 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } // end of method HelloWorld::Main (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Compilation and Execution * 07/16/96 Compilation and Execution Assembly (.EXE or .DLL file) Compilation Source code Language compiler MSIL Code Metadata When given method is called for the first time Execution Pre-compilation during the install (NGEN) Machine code JIT compiler (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Call un-compiled method * 07/16/96 How CLR Executes MSIL? .EXE / .DLL Class libraries Class Loader Verifier trusted code already compiled code JIT compiler Call un-compiled method Managed code (MSIL) Code Manager Security Engine Execution (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

* Assemblies, Metadata and Applications 07/16/96 .NET Applications Assemblies, Metadata and Applications (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Assemblies .NET assemblies: .NET deployment model * 07/16/96 .NET Assemblies .NET assemblies: Self-containing .NET components Stored in .DLL and .EXE files Contain list of classes, types and resources Smallest deployment unit in CLR Have unique version number .NET deployment model No version conflicts (forget the "DLL hell") Supports side-by-side execution of different versions of the same assembly (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Metadata in the Assemblies * 07/16/96 Metadata in the Assemblies Metadata in the .NET assemblies Data about data contained in the assembly Integral part of the assembly Generated by the .NET languages compiler Describes all classes, their class members, versions, resources, etc. Metadata  Information about program structure is language-agnostic, so that it can be referenced between languages and tools, making it easy to work with code written in a language you are not using. .NET metadata, in the Microsoft .NET framework, refers to code that describes .NET CIL (Common Intermediate Language) code. A .NET language compiler will generate the metadata and store this in the assembly containing the CIL. Metadata describes all classes and class members that are defined in the assembly, and the classes and class members that the current assembly will call from another assembly. The metadata for a method contains the complete description of the method, including the class (and the assembly that contains the class), the return type and all of the method parameters. When the CLR executes CIL it will check to make sure that the metadata of the called method is the same as the metadata that is stored in the calling method. This ensures that a method can only be called with exactly the right number of parameters and exactly the right parameter types. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Metadata in Assemblies * 07/16/96 Metadata in Assemblies Type Description Assembly Description Classes, interfaces, inner types, base classes, implemented interfaces, member fields, properties, methods, method parameters, return value, attributes, etc. Dependencies on other assemblies Security permissions Exported types Name Version Localization [digital signature] (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Applications Configurable executable .NET units * 07/16/96 .NET Applications Configurable executable .NET units Consist of one or more assemblies Installed by "copy / paste" No complex registration of components Different applications use different versions of common assemblies No conflicts due to their "strong name" Easy installation, un-installation and update (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Common Language Infrastructure * 07/16/96 Common Language Infrastructure How .NET Supports Multiple Languages? (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Common Language Infrastructure * 07/16/96 Common Language Infrastructure Common Language Infrastructure (CLI) Open specification developed by Microsoft (ECMA – 335) Multiple high-level languages run on different platforms without changes in the source code or pre-compilation Standardized part of CLR .NET Framework is CLI implementation for Windows Mono is CLI implementation for Linux The Common Language Infrastructure (CLI) is an open specification developed by Microsoft that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework. The specification defines an environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures. To clarify, the CLI is a specification, not an implementation, and is often confused with the Common Language Runtime (CLR), which contains aspects outside the scope of the specification. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Common Language Infrastructure (2) * 07/16/96 Common Language Infrastructure (2) CLI describes four aspects: The Common Type System (CTS) Assemblies and metadata Common Language Specification (CLS) Virtual Execution System (VES) The Common Type System (CTS)  A set of types and operations that are shared by all CTS-compliant programming languages. Metadata  Information about program structure is language-agnostic, so that it can be referenced between languages and tools, making it easy to work with code written in a language you are not using. Common Language Specification (CLS)  A set of base rules to which any language targeting the CLI should conform in order to interoperate with other CLS-compliant languages. Virtual Execution System (VES)  The VES loads and executes CLI-compatible programs, using the metadata to combine separately generated pieces of code at runtime. All compatible languages compile to Common Intermediate Language (CIL), which is an intermediate language that is abstracted from the platform hardware. When the code is executed, the platform-specific VES will compile the CIL to the machine language according to the specific hardware. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Code Compilation and Execution

Common Type System (CTS) * 07/16/96 Common Type System (CTS) CTS defines the CLR supported types of data and the operations over them Ensures data level compatibility between different .NET languages E.g. string in C# is the same like String in VB.NET and in J# Value types and reference types All types derive from System.Object (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Common Language Specification (CLS) * 07/16/96 Common Language Specification (CLS) CLS is a system of rules and obligations, that all .NET languages must obey Ensures compatibility and ease of interaction between .NET languages Example: CLS enforces all .NET languages to be object-oriented When using non-CLS-compliant programming techniques you lose compatibility with the other .NET languages (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

The .NET Languages C#, VB.NET, C++, J#, etc. * 07/16/96 (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Languages .NET languages by Microsoft * 07/16/96 .NET Languages .NET languages by Microsoft C#, VB.NET, Managed C++, J#, F#, JScript .NET languages by third parties Object Pascal, Perl, Python, COBOL, Haskell, Oberon, Scheme, Smalltalk… Different languages can be mixed in a single application Cross-language inheritance of types and exception handling (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

C# Language C# is mixture between C++, Java and Delphi * 07/16/96 C# Language C# is mixture between C++, Java and Delphi Fully object-oriented by design Component-oriented programming model Components, properties and events No header files like C/C++ Suitable for GUI and Web applications XML based documentation In C# all data types are objects Example: 5.ToString() is a valid call (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

C# Language – Example C# is standardized by ECMA and ISO * 07/16/96 C# Language – Example C# is standardized by ECMA and ISO Example of C# program: using System; class NumbersFrom1to100 { static void Main() for (int i=1; i<=100; i++) { Console.WriteLine(i); } (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Framework Class Library (FCL) * 07/16/96 Framework Class Library (FCL) Standard Out-of-the-box .NET APIs (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Framework Class Library (FCL) * 07/16/96 Framework Class Library (FCL) Framework Class Library is the standard .NET Framework library of out-of-the-box reusable classes and components (APIs) ASP.NET Web Forms, MVC, AJAX Mobile Internet Toolkit Windows Forms WPF Silverlight WCF and WWF (Communication and Workflow Tier) ADO.NET, LINQ and XML (Data Tier) Base Class Library (BCL) (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

FCL Namespaces ASP.NET Windows Forms WPF & Silverlight * 07/16/96 FCL Namespaces ASP.NET Web Forms, MVC, AJAX Mobile Internet Toolkit Windows Forms WPF & Silverlight System.Windows System.Windows.Forms System.Web System.Windows.Media System.Web.Mvc System.Drawing System.Windows.Markup WCF and WWF (Communication and Workflow Tier) System.ServiceModel System.Activities System.Workflow ADO.NET, LINQ and XML (Data Tier) System.Data System.Linq System.Xml System.Data.Linq System.Xml.Linq System.Data.Entity (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

* Powerful Development Environment for .NET 07/16/96 Visual Studio IDE Powerful Development Environment for .NET (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Visual Studio Visual Studio is powerful Integrated Development Environment (IDE) for .NET Developers Create, edit, compile and run .NET applications Different languages – C#, C++, VB.NET, J#, … Flexible code editor Powerful debugger Integrated with SQL Server and IIS Strong support of Web services, WCF and WWF

Visual Studio (2) Visual programming Managed and unmanaged code * 07/16/96 Visual Studio (2) Visual programming Component-oriented, event based Managed and unmanaged code Helpful wizards and editors Windows Forms Designer WCF / Silverlight Designer ASP.NET Web Forms Designer ADO.NET / LINQ-to-SQL / XML Data Designer Many third party extensions (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

* 07/16/96 Visual Studio IDE (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

.NET Framework Overview ? ? ? ? ? Questions? ? ? ? ? ? http://aspnetcourse.telerik.com

* 07/16/96 Exercises Describe briefly .NET Framework. Indicate its key components? What is Common Language Runtime (CLR)? Why it is important part of .NET Framework? What is .NET assembly? What are its integral parts? What is the assembly metadata and what does it contain? Describe the process of compilation of C# program to assembly and the process of assembly execution. What is managed code? Why it is preferred over the traditional unmanaged (native) code? (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Exercises (2) What is MSIL language? Indicate its key characteristics. * 07/16/96 Exercises (2) What is MSIL language? Indicate its key characteristics. What is Common Language Specification (CLS)? Why is it developed? What is Common Type System? When is it used? Point out some of the most popular .NET languages. What is common for all of them? What is Framework Class Library (FCL)? What functionality does it deliver? Indicate its key technologies and namespaces. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*