Чтение онлайн

на главную - закладки

Жанры

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Троелсен Эндрю

Шрифт:

Когда Microsoft выпустила язык программирования C# и платформу .NET, она выпустила также множество формальных документов, которые описали синтаксис и семантику языков C# и CIL, формат компоновочного блока .NET, базовые пространства имен и работу гипотетического механизма среды выполнения .NET (известного также под названием VES, или Virtual Execution System – виртуальная система выполнения). Еще лучше то, что все эти документы представлены в организации Ecma International для утверждения их в качестве официальных международных стандартов. Интересующими нас спецификациями являются:

• ECMA-334: спецификации языка C#;

• ECMA-335: общеязыковая инфраструктура (CLI).

Важность этих документов проясняется, если заметить, что они

предоставляют третьим сторонам возможность строить дистрибутивы платформы .NET для любого числа операционных систем и/или процессоров. Спецификации ECMA-335, наверное, более "содержательны", поэтому они разбиты на пять разделов, как показано в табл. 1.5.

Таблица 1.5. Разделы CLI

Разделы ECMA-335 Описание
Раздел I. Архитектура Описывает общую архитектуру CLI, включая правила CTS и CLS, а также работу механизма среды выполнения .NET
Раздел II. Метаданные Описывает структуру метаданных .NET
Раздел III. CIL Описывает синтаксис и семантику CIL-кода
Раздел IV. Библиотеки Дает высокоуровневый обзор минимальных и полных библиотек классов, которые должны поддерживаться дистрибутивом .NET
Раздел V. Дополнения Коллекция "вспомогательных" элементов, таких гак рекомендации по проектированию библиотек классов и подробности реализации компилятора CIL 

Заметим, что в разделе IV (Библиотеки) определяется минимальное множество пространств имен, которые представляют только базовые сервисы, ожидаемые от CLI-дистрибутива (коллекции, консольный ввод-вывод, файловый ввод-вывод, поточная обработка, отображение, сетевой доступ, базовые средства защиты, XML-манипуляции и т.д.). Такой CLI-дистрибутив не определяет пространства имен, упрощающих разработку Web-приложений (ASP.NET), доступ к базам данных (ADO.NET) или построение графического интерфейса пользователя (Windows Forms).

Благоприятным, однако, является то, что главные дистрибутивы .NET распространяют библиотеки CLI с эквивалентами Microsoft для ASP.NET, ADO.NET и Windows Forms, чтобы обеспечить полноценные платформы разработки производственного уровня. На сегодняшний день есть две главные реализации CLI (кроме предложений Microsoft, предназначенных только для Windows). Хотя в этой книге рассматривается создание .NET-приложений с помощью .NET-дистрибутива Microsoft, в табл. 1.6 представлена также информация о проектах Mono и Portable.NET.

Как Mono, так и Portable.NET обеспечивают ECMA-совместимость компилятора C# и механизма выполнения .NET, примеры программного кода, документацию, а также многочисленные инструменты разработки приложений, которые по функциональности эквивалентны инструментам, входящим в состав .NET Framework 2.0 SDK от Microsoft. К тому же Mono и Portable.NET поставляются с компиляторами VB .NET, Java и C.

Замечание. Если вы хотите узнать больше о Mono или Portable.NET, прочитайте книгу М. J. Easton и Jason King, Cross-Platform .NET Development: Using Mono, Portable.NET, and Microsoft .NET (Apress, 2004).

Таблица 1.6. .NET-дистрибутивы с открытым исходным кодом

Дистрибутив Описание
http://www.mono-project.com Проект Mono является дистрибутивом CLI с открытым исходным кодом, предназначенным для различных вариантов Linux (например, SuSE, Fedora и т.д.), а также дня Win32 и Mac OS X
http://www.dotgnu.org Portable.NET –
это другой дистрибутив CLI с открытым исходным кодом, предназначенный для множества операционных систем. Portable.NET нацелен на то, чтобы обслуживать как можно больше операционных систем (Win32, AIX, BeOS, Mac OS X, Solaris, все главные варианты Linux и т.д.)

Резюме

Целью этой главы было описание базовых концепций, необходимых для освоения остального материала этой книги. Сначала были рассмотрены ограничения и сложности технологий, появившихся до .NET, а затем был предложен обзор того, как .NET и C# пытаются упростить существующее положение вещей.

В сущности .NET можно свести к механизму среды выполнений (mscoree.dll) и библиотеке базовых классов (mscorlib.dll и сопутствующие файлы). Общеязыковая среда выполнения (CLR) способна принять любой бинарный .NET-объект (называемый компоновочным блоком), если только этот бинарный объект подчиняется правилам управляемого программного кода. Как вы убедились, компоновочные блоки содержат CIL-инcтрукций (в дополнение к метаданным типов и манифесту компоновочного блока), которые с помощью JIT-компилятора компилируются в специфические инструкции платформы. Кроме того., была выяснена роль общеязыковых спецификаций (CLS) и общей системы типов (CTS).

Затем была рассмотрена, утилита ildasm.exe, а также то, как с помощью dotnetfx.exe настроить машину для использования .NET-приложений. В заключение было сказано несколько слов о независимой от платформ природе C# и .NET.

ГЛАВА 2. Технология создания приложений на языке C#

Как разработчик программ на языке C#, вы имеете возможность выбрать любой из множества доступных инструментов разработки .NET-приложений. Целью этой главы является обзор самых разных инструментов разработки .NET, включая, конечно же Visual Studio 2005. Однако начнется глава с рассмотрения компилятора командной строки C#, csc.exe, для работы с которым будет достаточно самого простого текстового редактора., например программы Блокнот (noteepad.exe). Кроме того, мы с вами выясним, как выполнить отладку компоновочных блоков .NET с командной строки с помощью cordbg.exe. Освоив компиляцию и отладку компоновочных блоков без графического интерфейса, мы затем выясним, как можно редактировать и компилировать файлы исходного кода C# c помощью приложения TextPad.

Конечно, с текстом этой книги можно работать, используя только csc.exe и Блокнот/TextPad, но я думаю, вы заинтересованы в освоении более широких возможностей, предлагаемых в рамках современных IDE (Integrated Development Environment – интегрированная среда разработки). Поэтому мы рассмотрим также SharpDevelop – интегрированную среду разработки с открытым исходным текстом. По функциональности она конкурирует со многими коммерческими средствами разработки .NET, обладая тем дополнительным преимуществом, что она бесплатна, А после краткого обсуждения возможностей Visual C# 2005 Express мы приступим к рассмотрению Visual Studio 2005. Закончится глава небольшим обзором целого ряда дополнительных инструментов разработки .NET (многие из которых имеют открытый исходный код) и рекомендациями по поводу того, как эти инструменты получить.

Установка .NET Framework 2.0 SDK

Прежде чем начать строить .NET-приложения, используя язык программирования C# и каркас разработки приложений .NET Framework, сначала нужно установить свободно доступный пакет .NET Framework 2.0 SDK (Software Development Kit – комплект средств разработки программного обеспечения). Следует знать о том, что .NET Framework 2.0 SDK автоматически устанавливается при установке Visual Studio 2005 или Visual C# 2005 Express, поэтому если вы планируете установить одну из указанных систем, то загружать и отдельно устанавливать пакет программ .NET Framework 2.0 SDK нет необходимости.

Поделиться:
Популярные книги

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Проблема майора Багирова

Майер Кристина
1. Спецназ
Любовные романы:
современные любовные романы
6.60
рейтинг книги
Проблема майора Багирова

Законы Рода. Том 13

Андрей Мельник
13. Граф Берестьев
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 13

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Цвет сверхдержавы - красный. Трилогия

Симонов Сергей
Цвет сверхдержавы - красный
Фантастика:
попаданцы
альтернативная история
8.06
рейтинг книги
Цвет сверхдержавы - красный. Трилогия

Болтливый мертвец

Фрай Макс
7. Лабиринты Ехо
Фантастика:
фэнтези
9.41
рейтинг книги
Болтливый мертвец

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь