.NET Framework
.NET Framework — это среда выполнения для приложений нового поколения. Эта среда может быть установлена в любые версии Windows, начиная с Windows 98, и обеспечить виртуальную систему исполнения (Virtual Execution System) для приложений, созданных с помощью Visual Studio.NET.
Особенность приложений для .NET Framework заключается в том, что они, подобно приложениям Java, содержат не инструкции процессоров Intel, а инструкции виртуальной машины. В случае Java эти инструкции называются байт-код, в случае .NET — Microsoft Intermediate Language (MSIL). Как показал опыт Java, вместо интерпретации кода виртуальной машины лучше транслировать его в инструкции реального процессора, такого как Intel Pentium, даже если это приходится делать непосредственно при исполнении приложения (Just In Time — JIT). Поэтому .NET Framework вместо интерпретатора MSIL содержит его JIT-компилятор. Кроме того, существует возможность однократно выполнить прекомпиляцию (например, при установке программы) и пользоваться ее результатами в будущем.
Формат исполняемых файлов .NET Framework расширяет спецификацию PE (Portable Executable), так что мы по-прежнему имеем дело с EXE и DLL-файлами, но содержание у них новое.
Среда выполнения кода MSIL называется Common Language Runtime (CLR) и обеспечивает реализацию общих возможностей всех языков программирования .NET, что устраняет проблему взаимодействия компонентов, написанных на разных языках. Эта среда также обеспечивает возможность взаимодействия с компонентами COM+, что обеспечивает возможность доступа к прежним библиотекам компонентов.
.NET Framework SDK
Разработка приложений, создание качественных новых программ — один из самых трудоемких и сложных процессов в современном мире информационных технологий. Один из лучших в мире инструментов для разработчика — Microsoft Visual Studio. Уже завершена разработка Visual Studio.NET — последней версии среды, предназначенной для создания новых приложений для среды исполнения .NET Framework и обычных Win32 приложений.
На самом деле, вовсе не обязательно использовать могущественную среду Visual Studio.NET для создания простых приложений .NET Framework. Кроме того, Visual Studio.NET доступна на сайте msdn.microsoft.com только подписчикам MSDN, а .NET Framework SDK может загрузить с сайта каждый (тем более, что его размер гораздо меньше: 130 МБ вместо 2 ГБ Visual Studio.NET).
Для установки .NET Framework SDK необходима система не младше Windows NT SP6a (рекомендуется Windows 2000) с Internet Explorer 5.5.
По умолчанию программа установки предлагает поместить .NET Framework SDK в каталог %ProgramFiles%\Microsoft.Net\FrameworkSDK\, но лично мне удобнее выбрать для этого каталога имя покороче, например, C:\NetFXSDK. После установки в нашем распоряжении оказываются следующие основные средства.
В каталоге %ProgramFiles%\Microsoft.Net\FrameworkSDK\ (или в C:\NetFXSDK соответственно):
• Ассемблер MSIL (ilasm.exe).
Позволяет превратить текстовый файл с кодом на MSIL в PE-файл (EXE или DLL), который будет выполняться при наличии совместимой версии .NET Framework.
• Дизассемблер MSIL (ildasm.exe). Используется для дизассемблирования и просмотра MSIL-кода, содержащегося в PE-файле.
• Отладчик с консольным (текстовым) интерфейсом (cordbg.exe).
• Отладчик с графическим интерфейсом (DbgUrt.exe) (не устанавливается в Windows 98/ME).
В каталоге %windir%\ Microsoft.NET\Framework\v1.0.2914 (цифры будут меняться от версии к версии):
• Компилятор языка C# (csc.exe).
• Компилятор языка VB.NET (vbc.exe).
• Компилятор языка JScript.NET (jsc.exe).
Конечно, это далеко не полный список утилит, на самом деле инструментарий несколько сложнее.
По старой традиции, освоение системы программирования начнем с создания программы, выводящей на консоль строку приветствия. Вот как это будет выглядеть на C# (листинг 1):
using System;
class HelloWorld {
public static void Main(){
Console.WriteLine(«Hello World of C#!»);
}}
Листинг 1. hellocs.cs
Как видно, синтаксис C# подражает синтаксису Java. На VB.NET тот же фрагмент кода будет выглядеть так (Листинг 2):
Imports System
Public Module HelloWorld
Sub Main()
Console.WriteLine («Hello World of VB.NET!»)
End Sub
End Module
Листинг 2. hellovb.vb
Разберем, из чего состоит наша программа:
1) Подключаем пространство имен System, чем упрощаем ссылки на методы библиотечных классов, которые являются продолжением пространства имен System.
2) Объявляем публичный класс с произвольным именем.
3) Заводим в нем метод без параметров со специальным названием Main, не возвращающий значения.
4) В методе производим вызов метода WriteLine класса Console для вывода строки.
Заставим работать обе реализации, выполнив компиляцию (в MSIL):
C:\>csc –nologo hellocs.cs
C:\>vbc –nologo hellovb.vb
C:\>hellocs.exe
Hello World of C#!
C:\>hellovb.exe
Hello World of VB.NET!
Таким образом, первый шаг сделан, мы создали приложение для .NET Framework
с использованием .NET Framework SDK. Следующие шаги подразумевают написание более сложных программ, освоение языка и библиотек классов. Изрядным подспорьем здесь могут служить примеры и документация из комплекта .NET Framework SDK.
Кроме самостоятельной подготовки рекомендуется обратить внимание на авторизованные учебные курсы фирмы Microsoft, посвященные .NET Framework:
2124b: Introduction to C# Programming for the Microsoft .NET Platform;
2349a: Programming the Microsoft .NET Framework with C#;
2350a: Securing and Deploying Microsoft .NET Assemblies;
2373a: Programming with Microsoft Visual Basic .NET;
2415a: Programming the Microsoft .NET Framework with Visual Basic .NET;
2500a: Introduction to XML and the Microsoft .NET Platform.
На сегодняшний день еще не все из этих курсов выпущены в продажу, самую свежую информацию можно получить в разделе Training & Certification сайта Microsoft:
http://www.microsoft.com/traincert/training/