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
Вставьте в файлы CSharpSnapin.csproj
VBSnapIn.vbproj приведенный ниже блок разметки, который копирует скомпилированную сборку в каталог проекта MyExtendableApp и в выходной каталог(MyExtendableApp\bin\debug\net5.0):
Теперь после компиляции каждого проекта его сборка копируется также в целевой каталог приложения MyExtendableApp
Создание решения и проектов с помощью Visual Studio
Вспомните, что по умолчанию среда Visual Studio назначает решению такое же имя, как у первого проекта, созданного в этом решении. Тем не менее, вы можете легко изменять имя решения.
Чтобы создать решение ExtendableApp
CommonSnappableTypes в поле Project name (Имя проекта). Прежде чем щелкать на кнопке Create (Создать), введите ExtendableApp в поле Solution name (Имя решения), как показано на рис. 17.3.Чтобы добавить к решению еще один проект, щелкните правой кнопкой мыши на имени решения(ExtendableApp
CSharpSnapIn и щелкните на кнопке Create.Далее добавьте в проект CSharpSnapIn
CommonSnappableTypes. В среде Visual Studio щелкните правой кнопкой мыши на имени проекта CSharpSnapIn и выберите в контекстном меню пункт Add►Project Reference (Добавить►Ссылка на проект). В открывшемся диалоговом окне Reference Manager (Диспетчер ссылок) выберите элемент Projects►Solution (Проекты►Решение) в левой части (если он еще не выбран) и отметьте флажок рядом с CommonSnappableTypes.Повторите процесс для нового проекта библиотеки классов Visual Basic (VBSnapIn), которая ссылается на проект CommonSnappableTypes
Наконец, добавьте к решению новый проект консольного приложения .NET Core по имени MyExtendableApp
CommonSnappableTypes и установите проект консольного приложения в качестве стартового для решения. Для этого щелкните правой кнопкой мыши на имени проекта MyExtendableApp в окне Solution Explorer и выберите в контекстном меню пункт Set as Startup Project (Установить как стартовый проект).На заметку!
Если вы щелкнете правой кнопкой мыши на имени решенияExtendableApp, а не на имени одного из проектов, то в контекстном меню отобразится пункт Set Startup Projects (Установить стартовые проекты). Помимо запуска по щелчку на кнопке Run (Запустить) только одного проекта можно настроить запуск множества проектов, что будет демонстрироваться позже в книге.Установка зависимостей проектов при компиляции