Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Чтобы сборка имела доступ к другой сборке, которую строите вы (или кто-то другой), необходимо добавить ссылку из вашей сборки на другую сборку и обладать физическим доступом к этой другой сборке. В зависимости от инструмента разработки, применяемого для построения приложений .NET Core, вам будут доступны различные способы информирования компилятора о том, какие сборки должны включаться в цикл компиляции.
Исследование сборки с помощью ildasm.exe
Если вас начинает беспокоить мысль о необходимости освоения всех пространств имен .NET Core, то просто вспомните о том, что уникальность пространству имен придает факт наличия в нем типов, которые каким-то образом семантически связаны. Следовательно, если в качестве пользовательского интерфейса достаточно простого консольного режима, то можно вообще не думать о пространствах имен, предназначенных для построения интерфейсов настольных и веб-приложений. Если вы создаете приложение для рисования, тогда вам вряд ли понадобятся пространства имен, ориентированные на работу с базами данных. Со временем вы изучите те пространства имен, которые больше всего соответствуют вашим потребностям в программировании.
Утилита ildasm.exe (Intermediate Language Disassembler — дизассемблер промежуточного языка) дает возможность загрузить любую сборку .NET Core и изучить ее содержимое, включая ассоциированный с ней манифест, код CIL и метаданные типов. Инструмент ildasm.exe позволяет программистам более подробно разобраться, как их код C# отображается на код CIL, и в итоге помогает понять внутреннюю механику функционирования .NET Core. Хотя для того, чтобы стать опытным программистом приложений .NET Core, использовать ildasm.exe вовсе не обязательно, настоятельно рекомендуется время от времени применять данный инструмент, чтобы лучше понимать, каким образом написанный код C# укладывается в концепции исполняющей среды.
На заметку! Утилита ildasm.exe не поставляется с исполняющей средой .NET 5. Получить этот инструмент в свое распоряжение можно двумя способами. Первый способ предусматривает его компиляцию из исходного кода исполняющей среды .NET 5, который доступен по ссылке https://github.com/dotnet/runtime. Второй и более простой способ — получить пакет NuGet по ссылке https://www.nuget.org/packages/Microsoft.NETCore.iLDAsm/. Удостоверьтесь в том, что выбираете корректную версию (для книги понадобится версия 5.0.0 или выше). Добавьте пакет ILdasm в свой проект с помощью команды dotnet add package Microsoft .NETCore.ILDAsm --version 5.0.0. На самом деле команда не загружает ILDasm.exe в ваш проект, а помещает его в папку пакета (на компьютере Windows): %userprofile%.nugetpackagesmicrosoft.netcore.ildasm5.0.0runtimesnative.
Утилита ILDasm.exe версии 5.0.0 также включена в папку Chapter_01 (и в папки для других глав, где применяется ILDasm.exe) хранилища GitHub для данной книги.
После загрузки утилиты ildasm.exe на свой компьютер вы можете запустить ее из командной строки и просмотреть справочную информацию. Чтобы извлечь код CIL, понадобится указать как минимум имя сборки.
Вот пример команды:
ildasm /all /METADATA /out=csharp.il calc.cs.dll
Команда создаст файл по имени csharp.il и экспортирует в него все доступные данные.
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Резюме
Задачей настоящей главы было формирование концептуальной основы, требуемой для освоения остального материала книги. Сначала исследовались ограничения и сложности, присущие технологиям, которые предшествовали инфраструктуре .NET Core, после чего в общих чертах было показано, как .NET Core и C# пытаются упростить текущее положение дел.
По существу .NET Core сводится к механизму исполняющей среды (.NET Runtime) и библиотекам базовых классов. Исполняющая среда способна обслуживать любые двоичные модули .NET Core (называемые сборками), которые следуют правилам управляемого кода. Вы видели, что сборки содержат инструкции CIL (в дополнение к метаданным типов и манифестам сборок), которые с помощью JIT-компилятора транслируются в инструкции, специфичные для платформы. Кроме того, вы ознакомились с ролью общеязыковой спецификации (CLS) и общей системы типов (CTS).
В следующей главе будет предложен обзор распространенных IDE-сред, которые можно применять при построении программных проектов на языке С#. Вас наверняка обрадует тот факт, что в книге будут использоваться полностью бесплатные (и богатые возможностями) IDE-среды, поэтому вы начнете изучение мира .NET Core без каких-либо финансовых затрат.
Глава 2
Создание приложений на языке C#
Как программист на языке С#, вы можете выбрать подходящий инструмент среди многочисленных средств для построения приложений .NET Core. Выбор инструмента (или инструментов) будет осуществляться главным образом на основе трех факторов: сопутствующие финансовые затраты, операционная система (ОС), используемая при разработке программного обеспечения, и вычислительные платформы, на которые оно ориентируется. Цель настоящей главы — предложить сведения об установке .NET 5 SDK и исполняющей среды, а также кратко представить флагманские IDE-среды производства Microsoft — Visual Studio Code и Visual Studio.
Сначала в главе раскрывается установка на ваш компьютер .NET 5 SDK и исполняющей среды. Затем будет исследоваться построение первого приложения на C# с помощью Visual Studio Code и Visual Studio Community Edition.
На заметку! Экранные снимки в этой и последующих главах сделаны в IDE-среде Visual Studio Code v1.51.1 или Visual Studio 2019 Community Edition v16.8.1 на компьютере с ОС Windows. Если вы хотите строить свои приложения на компьютере с другой ОС или IDE-средой, то глава укажет правильное направление, но окна выбранной вами IDE-среды будут отличаться от изображенных на экранных снимках, приводимых в тексте.
Установка .NET 5
Чтобы приступить к разработке приложений с помощью C# 9 и .NET 5 (в среде Windows, macOS или Linux), необходимо установить комплект .NET 5 SDK (который также устанавливает исполняющую среду .NET 5). Все установочные файлы для .NET и .NET Core расположены на удобном веб-сайте www.dot.net. Находясь на домашней странице, щелкните на кнопке Download (Загрузить) и затем на ссылке All .NET downloads (Все загрузочные файлы .NET) под заголовком .NET. После щелчка на ссылке All .NET downloads вы увидите две LTS-версии .NET Core (2.1 и 3.1) и ссылку на .NET 5.0. Щелкните на ссылке .NET 5.0 (recommended) (.NET 5.0 (рекомендуется)). На появившейся странице выберите комплект .NET 5 SDK, который подходит для вашей ОС. В примерах книги предполагается, что вы установите SDK для .NET Core версии 5.0.100 или выше, что также приведет к установке исполняющих сред .NET, ASP.NET и .NET Desktop (в Windows).
На заметку! С выходом .NET 5 станица загрузки изменилась. Теперь на ней есть три колонки с заголовками .NET, .NET Core и .NET Framework. Щелчок на ссылке All .NET Core downloads под заголовком .NET или .NET Core приводит к переходу на одну и ту же страницу. При установке Visual Studio 2019 также устанавливается .NET Core SDK и исполняющая среда.