Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
Шрифт:
Интервал:
Закладка:
Здесь используется класс Console, определенный в пространстве имен System. Поскольку пространство имен System было автоматически включено посредством оператора using в начале файла, указывать System перед именем класса не обязательно (например, System.Console.WriteLine()). Данная программа не делает ничего особо интересного; тем не менее, обратите внимание на последний вызов Console.ReadLine(). Он просто обеспечивает поведение, при котором пользователь должен нажать клавишу <Enter>, чтобы завершить приложение. При работе в Visual Studio 2019 поступать так не обязательно, потому что встроенный отладчик приостановит про грамму, предотвращая ее завершение. Но без вызова Console.ReadLine() при запуске скомпилированной версии программа прекратит работу почти мгновенно!
На заметку! Если вы хотите, чтобы отладчик VS завершал программу автоматически, тогда установите флажок Automatically close the console when debugging stops (Автоматически закрывать окно консоли при останове отладки) в диалоговом окне, доступном через пункт меню Tools►Options►Debugging (Сервис►Параметры►Отладка).
Изменение целевой инфраструктуры .NET Core
Стандартной версией .NET Core для консольных приложений .NET Core и библиотек классов является последняя версия LTS — .NET Core 3.1. Чтобы использовать .NET 5 или просто проверить версию .NET (Core), на которую нацелено ваше приложение, дважды щелкните на имени проекта в окне Solution Explorer (Проводник решений). В окне редактора откроется файл проекта (новая возможность Visual Studio 2019 и .NET Core). Отредактировать файл проекта можно также, щелкнув правой кнопкой мыши на имени проекта в окне Solution Explorer и выбрав в контекстном меню пункт Edit Project file (Редактировать файл проекта). Вы увидите следующее содержимое:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.l</TargetFramework>
</PropertyGroup>
</Project>
Для смены версии .NET Core на .NET 5 измените значение TargetFramework на net5.0:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
Изменить целевую инфраструктуру можно и по-другому. Щелкните правой кнопкой мыши на имени проекта в окне Solution Explorer, выберите в контекстном меню пункт Properties (Свойства), в открывшемся диалоговом окне Properties (Свойства) перейдите на вкладку Application (Приложение) и выберите в раскрывающемся списке Target framework (Целевая инфраструктура) вариант .NET 5.0, как показано на рис. 2.5.
Использование функциональных средств C# 9
В предшествующих версиях .NET можно было изменять версию С#, поддерживаемую проектом. С выходом .NET Core 3.0+ применяемая версия C# привязана к версии инфраструктуры. Чтобы удостовериться в этом, щелкните правой кнопкой на имени проекта в окне Solution Explorer и выберите в контекстном меню пункт Properties (Свойства). В открывшемся диалоговом окне Properties (Свойства) перейдите на вкладку Build (Сборка) и щелкните на кнопке Advanced (Дополнительно) в нижнем правом углу. Откроется диалоговое окно Advanced Build Settings (Расширенные настройки сборки), представленное на рис. 2.6.
Для проектов .NET 5.0 версия языка зафиксирована как C# 9. В табл. 2.2 перечислены целевые инфраструктуры (.NET Core, .NET Standard и .NET Framework) и задействованные по умолчанию версии С#.
Запуск и отладка проекта
Чтобы запустить программу и просмотреть вывод, нажмите комбинацию клавиш <Ctrl+F5> (или выберите пункт меню DebugsStart Without Debugging (Отладкам Запустить без отладки)). На экране появится окно консоли Windows с вашим специальным (раскрашенным) сообщением. Имейте в виду, что при "запуске" своей программы с помощью <Ctrl+F5> вы обходите интегрированный отладчик.
На заметку! Приложения .NET Core можно компилировать и запускать также с применением интерфейса командной строки. Чтобы запустить свой проект, введите команду dotnet run в каталоге, где находится файл проекта (SimpleCSharpApp.csproj в рассматриваемом примере). Команда dotnet run вдобавок автоматически компилирует проект.
Если написанный код необходимо отладить (что определенно будет важным при построении более крупных программ), тогда первым делом понадобится поместить точки останова на операторы кода, которые необходимо исследовать. Хотя в рассматриваемом примере не особо много кода, установите точку останова, щелкнув на крайней слева полосе серого цвета в окне редактора кода (обратите внимание, что точки останова помечаются значком в виде красного кружка (рис. 2.7)).
Если теперь нажать клавишу <F5> (или выбрать пункт меню DebugStart►Debugging (Отладкам►Запустить с отладкой) либо щелкнуть на кнопке с зеленой стрелкой и надписью Start (Пуск) в панели инструментов), то программа будет прекращать работу на каждой точке останова. Как и можно было ожидать, у вас есть возможность взаимодействовать с отладчиком с помощью разнообразных кнопок панели инструментов и пунктов меню IDE-среды. После прохождения всех точек останова приложение в конечном итоге завершится, когда закончится метод Main().
На заметку! Предлагаемые Microsoft среды IDE снабжены современными отладчиками, и в последующих главах вы изучите разнообразные приемы работы с ними. Пока нужно лишь знать, что при нахождении в сеансе отладки в меню Debug появляется большое количество полезных пунктов. Выделите время на ознакомление с ними.
Использование окна Solution Explorer
Взглянув на правую часть IDE-среды, вы заметите окно Solution Explorer (Проводник решений), в котором отображено несколько важных элементов. Первым делом обратите внимание, что IDE-среда создала решение с единственным проектом. Поначалу это может сбивать с толку, т.к. решение и проект имеют одно и то же имя (SimpleCSharpConsoleApp). Идея в том, что "решение" может содержать множество проектов, работающих совместно. Скажем, в состав решения могут входить три библиотеки классов, одно приложение WPF и одна веб-служба ASP.NET Core. В начальных главах книги будет всегда применяться одиночный проект; однако, когда мы займемся построением более сложных примеров, будет показано, каким образом добавлять новые проекты в первоначальное пространство решения.
На заметку! Учтите, что в случае выбора решения в самом верху окна Solution Explorer система меню IDE-среды будет отображать набор пунктов, который отличается от ситуации, когда выбран проект. Если вы когда-нибудь обнаружите, что определенный пункт меню исчез, то проверьте, не выбран ли случайно неправильный узел.
Использование визуального конструктора классов
Среда Visual Studio также снабжает вас возможностью конструирования классов и других типов (вроде интерфейсов или делегатов) в визуальной манере. Утилита Class Designer (Визуальный конструктор классов) позволяет просматривать и модифицировать отношения между типами (классами, интерфейсами, структурами, перечислениями и делегатами) в проекте. С помощью данного средства можно визуально добавлять (или удалять) члены типа с отражением этих