Ваша строка должна соответствовать версии и месту размещения .NET Framework 2.0 SDK в вашей системе (проверьие павильность указанной вами строки в окне программы Проводник). Обновив переменную Path, можно проверить результат. Для этого следует закрыть все командные окна (чтобы изменения были приняты системой), а затем, открыв новое командное окно, ввести в нём
csc /?
Если все было сделано правильно, вы должны увидеть список опций настройки, поддерживаемых компилятором C#.
Замечание. В списке аргументов командной строки для любого средства разработки .NET в качестве разделителя можно использовать – или / (например, csc -? или csc /?).
Дополнительные средства командной строки .NET
До начала использования csc.exe добавьте в системную переменную Path следующее значение (снова не забудьте проверить правильность указанного пути).
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
Напомним, что этот каталог содержит инструменты командной строки, которые используются в процессе разработки .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, перейдите в каталог, содержащий файл с исходным кодом, и введите следующую строку команд (обратите внимание на то, что флаги командной строки должны быть указаны до имен входных файлов, а не после).