Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Установка .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 нет необходимости.
Если у вас нет Visual Studio 2005 или Visual C# 2005 Express, то откройте страницу http://msdn.microsoft.com/netframework и выполните поиск по ключу ".NET Framework 2.0 SDK". Перейдя на соответствующую страницу, загрузите setup.exe и сохраните этот файл в подходящей папке на своем жестком диске. Затем двойным щелчком запустите этот выполняемый файл, чтобы установить соответствующее программное обеспечение.
После завершения установки на вашей машине появится не только необходимая инфраструктура .NET, но и множество инструментов разработки с очень хорошей справочной системой, примерами программного кода и обучающими программами, а также различные официальные документы с описанием системы.
По умолчанию пакет .NET Framework 2.0 SDK устанавливается в каталог C:Program FilesMicrosoft Visual Studio 8SDKv2.0. Там вы найдете файл StartHere.htm. который (в полном соответствии с его названием) может служить в качестве отправной точки для доступа ко всем разделам документации. В табл. 2.1 предлагаются описания некоторых подкаталогов из корневого каталога инсталляции.
Таблица 2.1. Подкаталоги корневого каталога установки .NET Framework 2.0 SDK
Подкаталог Описание Bin Содержит большинство инструментов разработки .NET-приложений. В файле StartTools.htm предлагаются описания всех утилит Bootstrapper Почти все содержимое этого каталога можно игнорировать, но следует знать, что именно здесь, в подкаталоге PackagesDotNetFx, находится dotnetfx.exe (см. главу 1) CompactFramework Содержит программу установки .NET Compact Framework 2.0 Samples Содержит программу установки набора примеров .NET Framework 2.0 SDK. О том, как установить примеры, говорится в StartSamples.htmВ дополнение к файлам, установленным в каталог C:Program Files Microsoft Visual Studio 8 SDKv2.0, программа установки создает подкаталог Microsoft.NETFramework в каталоге Windows. Там вы обнаружите отдельные подкаталоги для каждой версии .NET Framework, установленной на вашей машине. Внутри подкаталога, соответствующего конкретной версии, содержатся компиляторы командной строки для каждого языка, предлагаемого в рамках Microsoft .NET Framework (это CIL, C#, Visual Basic .NET, J# и JScript .NET), а также дополнительные утилиты командной строки и различные компоновочные блоки .NET.
Компилятор командной строки для C# (csc.exe)
Для компиляции исходного кода C# есть целый ряд возможностей. Не касаясь Visual Studio 2005 (и различных IDE сторонних производителей), здесь можно отметить компилятор командной строки для C#, csc.exe (где csc означает аббревиатуру для C-Sharp Compiler - компилятор C#), с помощью .NET которого можно создавать компоновочные блоки .NET. Указанный файл входит в комплект поставки .NET Framework 2.0 SDK. Вы, конечно же, не захотите создавать большие приложения с помощью компилятора командной строки, но знать, как компилировать *.cs-файлы вручную, вcе же важно. Можно указать несколько причин, по которым вы должны иметь представление о соответствующем процессе.
• Самым очевидным является то, что вы можете просто не иметь Visual Studio 2005.
• В ваших планах может быть использование автоматизированных средств разработки, таких как MSBuild или NAnt.
• Вы можете стремиться к расширению своего понимания C#. При использовании графических средств разработки приложений вы все равно даете инструкции csc.exe о том как обрабатывать исходные файлы C#. С этой точки зрения весьма полезно знать, что происходит "за кулисами".
Полезным "побочным эффектом" работы с csc.exe является то, что вам будет проще использовать другие инструменты командной строки, входящие в комплект поставки .NET Framework 2.0 SDK. В процессе изучения материала этой книги вы увидите, что многие очень важные утилиты оказываются доступны только из командной строки.
Настройка компилятора командной строки для C#
Чтобы использовать компилятор командной строки для C#, нужно, чтобы ваша система могла найти файл csc.exe. Если машина сконфигурирована неправильно, то при компиляции файлов C# вам придется указать полный путь к файлу csc.exe.
Чтобы система могла компилировать файлы *.cs из любого каталога, выполните следующие шаги (они соответствуют установке в Windows XP; в Windows NT/2000 эти шаги, будут аналогичными).
1. Щелкните на пиктограмме Мой Компьютер и выберите пункт Свойства из раскрывшегося контекстного меню.
2. Выберите вкладку Дополнительно и щелкните на кнопке Переменные среды.
3. Двойным щелчком на имени переменной Path в окне Системные переменные откройте окно ее изменения.
4. Добавьте в конец текущего значения Path следующую строку (не забудьте о том, что значения в списке переменной Path разделяются точкой с запятой)
C:WindowsMicrosoft.NETFrameworkv2.0.50215
Ваша строка должна соответствовать версии и месту размещения .NET Framework 2.0 SDK в вашей системе (проверьие павильность указанной вами строки в окне программы Проводник). Обновив переменную Path, можно проверить результат. Для этого следует закрыть все командные окна (чтобы изменения были приняты системой), а затем, открыв новое командное окно, ввести в нём
csc /?
Если все было сделано правильно, вы должны увидеть список опций настройки, поддерживаемых компилятором C#.
Замечание. В списке аргументов командной строки для любого средства разработки .NET в качестве разделителя можно использовать – или / (например, csc -? или csc /?).
Дополнительные средства командной строки .NET
До начала использования csc.exe добавьте в системную переменную Path следующее значение (снова не забудьте проверить правильность указанного пути).
C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bin
Напомним, что этот каталог содержит инструменты командной строки, которые используются в процессе разработки .NET-приложений. После создания двух указанных путей поиска у вас должна появиться возможность выполнять любую утилиту .NET из любого командного окна. Чтобы проверить правильность внесенных изменений, закройте все открытые командные окна, затем откройте новое командное окно и введите в нем следующую команду, позволяющую просмотреть опций утилиты GAC, gacutil.exe.
gacutil /?
Совет. Теперь вы знаете, как вручную настроить свою машину, но есть и более короткий путь. Среда .NET Framework 2.0 SDK предлагает уже сконфигурированное командное окно, распознающее все утилиты командной строки .NET. Используя кнопку Пуск, выберите из меню Все Программы→Microsoft .NET Framework SDK v2.0 и активизируйте строку SDK Command Prompt (Командная строка SDK).
Компоновка C#-приложений с помощью csc.exe
Теперь, когда машина распознает csc.exe, с помощью компилятора командной строки C# и программы Блокнот мы построим простой одномодульный компоновочный блок, который назовем TestApp.exe. Для начала нам нужен исходный код. Откройте программу Блокнот и введите в ее окно следующее.
// Простое приложение на языке C#.
using System;
class TestApp {
public static void Main() {
Console.WriteLine("Проверка! 1, 2, 3");
}
}
Завершив ввод, сохраните файл с именем TestApp.cs в подходящем месте на диске (например, в каталоге C:CscExample). Теперь рассмотрим основные опции компилятора C#. Прежде всего нужно понять, как указывается имя и тип создаваемого компоновочного блока (это может быть, например, консольное приложение с именем MyShell.exe, библиотека программного кода с именем MathLib.dll, приложение Windows Forms с именем MyWinApp.exe и т.д.). Каждая из возможностей обозначается соответствующим флагом, передаваемым в сsc.exe в виде опции командной строки (табл. 2.2).
Таблица 2.2. Опции компилятора C#, указывающие выходные параметры
Опция Описание /out Используется для указания имени создаваемого компоновочного блока. По умолчанию имя компоновочного блока совпадает с именем исходного файла *.cs (в случае *.dll) или с именем типа, содержащего метод Main() программы (в случае *.exe) /target:exe Используется для создания консольного приложения. Данный тип выходного файла подразумевается по умолчанию, поэтому эту опцию при построении консольного приложения можно опустить /target:library Используется для построения одномодульного компоновочного блока *.dll /target:module Используется для построения модуля. Модули являются составляющими многомодульных компоновочных блоков (см. главу 11) /target:winexe Приложения Windows можно строить и с помощью флага /target:exe, но флаг /target:winexe исключает появление окна консоли в фоновом режимеЧтобы скомпилировать TestАрр.сs в консольное приложение с именем TestApp.exe, перейдите в каталог, содержащий файл с исходным кодом, и введите следующую строку команд (обратите внимание на то, что флаги командной строки должны быть указаны до имен входных файлов, а не после).