books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

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

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

Далее добавьте в проект

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).

Язык программирования C#9 и платформа .NET5 - _113.png

Теперь при каждой компиляции проекта

MyExtendableApp
будут также компилироваться проекты
CSharpSnapIn
и
VBSnapIn
.

Добавление событий PostBuild

Откройте окно свойств проекта для

CSharpSnapIn
(щелкнув правой кнопкой мыши на имени проекта в окне Solution Explorer и выбрав в контекстном меню пункт Properties (Свойства)) и перейдите в нем на вкладку Build Events (События при компиляции). Щелкните на кнопке Edit Post-build (Редактировать события после компиляции) и затем щелкните на Macros>> (Макросы). Здесь вы можете видеть доступные для использования макросы, которые ссылаются на пути и/или имена файлов. Преимущество применения этих макросов в событиях, связанных с компиляцией, заключается в том, что они не зависят от машины и работают с относительными путями. Скажем, кто-то работает в каталоге по имени
c-sharp-wfcodechapterl7
. Вы можете работать в другом каталоге (вероятнее всего так и есть). За счет применения макросов инструмент MSBuild всегда будет использовать корректный путь относительно файлов
*.csproj
.

Введите в области PostBuild (После компиляции) следующие две строки:

copy $(TargetPath) $(SolutionDir)MyExtendableApp$(OutDir)$(TargetFileName) /Y

copy $(TargetPath) $(SolutionDir)MyExtendableApp$(TargetFileName) /Y

Сделайте то же самое для проекта

VBSnapin
, но здесь вкладка в окне свойств называется Compile (Компиляция) и на ней понадобится щелкнуть на кнопке Build Events (События при компиляции).

Когда показанные выше команды событий после компиляции добавлены, все сборки при каждой компиляции будут копироваться в каталог проекта и выходной каталог приложения

MyExtendableApp
.

Построение сборки CommonSnappableTypes.dll

Удалите стандартный файл класса

Class1.cs
из проекта
CommonSnappableTypes
, добавьте новый файл интерфейса по имени
AppFunctionality.cs
и поместите в него следующий код:

namespace CommonSnappableTypes

{

  public interface IAppFunctionality

  {

    void DoIt();

  }

}

Добавьте файл класса по имени

CompanyInfoAttribute.cs
и приведите его содержимое к такому виду:

using System;

namespace CommonSnappableTypes

{

  [AttributeUsage(AttributeTargets.Class)]

  public sealed class CompanyInfoAttribute : System.Attribute

  {

    public string CompanyName { get; set; }

    public string CompanyUrl { get; set; }

  }

}

Тип

IAppFunctionality
обеспечивает полиморфный интерфейс для всех оснасток, которые могут потребляться расширяемым приложением. Учитывая, что рассматриваемый пример является полностью иллюстративным, в интерфейсе определен единственный метод под названием
DoIt()
.

Тип

CompanyInfoAttribute
— это специальный атрибут, который может применяться к любому классу, желающему подключиться к контейнеру. Как несложно заметить по определению класса,
[CompanyInfо]
позволяет разработчику оснастки указывать общие сведения о месте происхождения компонента.

Построение оснастки на C#

Удалите стандартный файл

Class1.cs
из проекта
CSharpSnapIn
и добавьте новый файл по имени
CSharpModule.cs
. Поместите в него следующий код:

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


Язык программирования C#9 и платформа .NET5 отзывы

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


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

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

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


Прокомментировать
Подтвердите что вы не робот:*