LoveRead.info » Книги » Разная литература » Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

178 0 18:04, 26-08-2023
Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
26 август 2023

Книга Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читать онлайн бесплатно без регистрации

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле. Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных. Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

    1 ... 215 216 217 218 219 220 221 222 223 ... 407
    Перейти на страницу:
    class="p1">• VBSnapIn.dll. Оснастка, написанная на Visual Basic, в которой применяются типы из сборки CommonSnappableTypes.dll.

    • MyExtendableApp.ехе. Консольное приложение, которое может быть расширено функциональностью каждой оснастки.

    В приложении будут использоваться динамическая загрузка, рефлексия и позднее связывание для динамического получения функциональности сборок, о которых заранее ничего не известно.

    На заметку! Вы можете подумать о том, что вам вряд ли будет ставиться задача построения консольного приложения, и тут вы вероятно правы! Бизнес-приложения, создаваемые на языке С#, обычно относятся к категории интеллектуальных клиентов (Windows Forms или WPF), веб-приложений/служб REST (ASP.NET Core) или автоматических процессов (функций Azure, служб Windows и т.д.). Консольные приложения применяются здесь, чтобы сосредоточиться на специфических концепциях примеров, в данном случае — на динамической загрузке, рефлексии и позднем связывании. Позже в книге вы узнаете, как строить "реальные" пользовательские приложения с использованием WPF и ASP.NET Core.

    Построение мультипроектного решения ExtendableApp

    Большинство приложений, созданных ранее в книге, были автономными проектами с небольшими исключениями (вроде предыдущего приложения). Так делалось для того, чтобы сохранять примеры простыми и четко ориентированными на демонстрируемые в них аспекты. Однако в реальном процессе разработки обычно приходится работать с множеством проектов в одном решении.

    Создание решения и проектов с помощью интерфейса командной строки

    Открыв окно интерфейса CLI, введите следующие команды, чтобы создать новое решение, проекты для библиотек классов и консольного приложения, а также ссылки на проекты:

    dotnet new sln -n Chapter17_ExtendableApp

    dotnet new classlib -lang c# -n CommonSnappableTypes

      -o .CommonSnappableTypes -f net5.0

    dotnet sln .Chapter17_ExtendableApp.sln add .CommonSnappableTypes

    dotnet new classlib -lang c# -n CSharpSnapIn -o .CSharpSnapIn -f net5.0

    dotnet sln .Chapter17_ExtendableApp.sln add .CSharpSnapIn

    dotnet add CSharpSnapin reference CommonSnappableTypes

    dotnet new classlib -lang vb -n VBSnapIn -o .VBSnapIn -f net5.0

    dotnet sln .Chapter17_ExtendableApp.sln add .VBSnapIn

    dotnet add VBSnapIn reference CommonSnappableTypes

    dotnet new console -lang c# -n MyExtendableApp -o .MyExtendableApp -f net5.0

    dotnet sln .Chapter17_ExtendableApp.sln add .MyExtendableApp

    dotnet add MyExtendableApp reference CommonSnappableTypes

    Добавление событий PostBuild в файлы проектов

    При компиляции проекта (либо в Visual Studio, либо в командной строке) существуют события, к которым можно привязываться. Например, после каждой успешной компиляции нужно копировать две сборки оснасток в каталог проекта консольного приложения (в случае отладки посредством dotnet run) и в выходной каталог консольного приложения (при отладке в Visual Studio). Для этого будут использоваться несколько встроенных макросов.

    Вставьте в файлы CSharpSnapin.csproj и VBSnapIn.vbproj приведенный ниже блок разметки, который копирует скомпилированную сборку в каталог проекта MyExtendableApp и в выходной каталог(MyExtendableAppbindebugnet5.0):

    <Target Name="PostBuild" AfterTargets="PostBuildEvent">

        <Exec Command="copy $(TargetPath) $(SolutionDir)MyExtendableApp

        $(OutDir)$(TargetFileName)

        /Y &#xD;&#xA;copy $(TargetPath) $(SolutionDir)MyExtendableApp

        $(TargetFileName) /Y" />

    </Target>

    Теперь после компиляции каждого проекта его сборка копируется также в целевой каталог приложения MyExtendableApp.

    Создание решения и проектов с помощью Visual Studio

    Вспомните, что по умолчанию среда Visual Studio назначает решению такое же имя, как у первого проекта, созданного в этом решении. Тем не менее, вы можете легко изменять имя решения.

    Чтобы создать решение ExtendableApp, выберите в меню пункт FileNew Project (Файл►Создать проект). В открывшемся диалоговом окне Add New Project (Добавление нового проекта) выберите элемент Class Library (Библиотека классов) и введите CommonSnappableTypes в поле Project name (Имя проекта). Прежде чем щелкать на кнопке Create (Создать), введите ExtendableApp в поле Solution name (Имя решения), как показано на рис. 17.3.

    Чтобы добавить к решению еще один проект, щелкните правой кнопкой мыши на имени решения(ExtendableApp) в окне Solution Explorer и выберите в контекстном меню пункт AddNew Project (Добавить► Новый проект) или выберите в меню пункт FileAddNew Project (Файл►Добавить►Новый проект). При добавлении дополнительного проекта к существующему решению содержимое диалогового окна Add New Project слегка отличается; параметры решения теперь отсутствуют, так что вы увидите только информацию о проекте (имя и местоположение). Назначьте проекту библиотеки классов имя CSharpSnapIn и щелкните на кнопке Create.

    Далее добавьте в проект CSharpSnapIn ссылку на проект CommonSnappableTypes. В среде Visual Studio щелкните правой кнопкой мыши на имени проекта CSharpSnapIn и выберите в контекстном меню пункт AddProject Reference (Добавить►Ссылка на проект). В открывшемся диалоговом окне Reference Manager (Диспетчер ссылок) выберите элемент ProjectsSolution (Проекты►Решение) в левой части (если он еще не выбран) и отметьте флажок рядом с CommonSnappableTypes.

    Повторите процесс для нового проекта библиотеки классов Visual Basic (VBSnapIn), которая ссылается на проект CommonSnappableTypes.

    Наконец, добавьте к решению новый проект консольного приложения .NET Core по имени MyExtendableApp. Добавьте в него ссылку на проект CommonSnappableTypes и установите проект консольного приложения в качестве стартового для решения. Для этого щелкните правой кнопкой мыши на имени проекта MyExtendableApp в окне Solution Explorer и выберите в контекстном меню пункт Set as Startup Project (Установить как стартовый проект).

    На заметку! Если вы щелкнете правой кнопкой мыши на имени решения ExtendableApp, а не на имени одного из проектов, то в контекстном меню отобразится пункт Set Startup Projects (Установить стартовые проекты). Помимо запуска по щелчку на кнопке Run (Запустить) только одного проекта можно настроить запуск множества проектов, что будет демонстрироваться позже в книге.

    Установка зависимостей проектов при компиляции

    Когда среде Visual Studio поступает команда запустить решение, стартовый проект и все проекты, на которые имеются ссылки, компилируются в случае обнаружения любых изменений; однако проекты, ссылки на которые отсутствуют, не компилируются. Положение дел можно изменить, устанавливая зависимости проектов. Для этого щелкните правой кнопкой мыши на имени решения в окне Solution Explorer, выберите в контекстном меню пункт Project Build Order (Порядок компиляции проектов), в открывшемся диалоговом окне перейдите на вкладку Dependencies (Зависимости) и в раскрывающемся списке Projects (Проекты) выберите MyExtendableApp.

    Обратите внимание, что проект CommonSnappableTypes уже выбран и связанный с ним флажок отключен. Причина в том, что на него производится ссылка напрямую. Отметьте также флажки для проектов CSharpSnapIn и VBSnapIn (рис. 17.4).

    Теперь при каждой компиляции проекта MyExtendableApp будут также компилироваться проекты

    1 ... 215 216 217 218 219 220 221 222 223 ... 407
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Борис Борис14 июнь 00:50 Колокола в России тем и отличались от западных что раскачиаали именно язык колокола,а не сам колокол! Авторы что-жертвы ЕГЭ? Не... Соединенные Штаты России 3 - Полина Ром
    2. Людмила Хофман Людмила Хофман10 июнь 22:13 У меня перевернулся мир после прочтения ваших книг! Так приятно и чисто на душе, ведь по сути неважно кто с кем , а только любовь... Долгая игра - Рейчел Рид
    3. Анна Анна08 июнь 11:28 Спасибо за новую историю жизни и любви на сайте,прочитала с удовольствием .... Давай поженимся - Юлия Резник
    Все комметарии
    Новинки бесплатной онлайн библиотеки