Язык программирования C#9 и платформа .NET5 - Джепикс Филипп - Страница 334
- Предыдущая
- 334/642
- Следующая
Далее добавьте в проект
CSharpSnapInCommonSnappableTypesCSharpSnapInCommonSnappableTypesПовторите процесс для нового проекта библиотеки классов Visual Basic (VBSnapIn), которая ссылается на проект
CommonSnappableTypesНаконец, добавьте к решению новый проект консольного приложения .NET Core по имени
MyExtendableAppCommonSnappableTypesMyExtendableAppНа заметку! Если вы щелкнете правой кнопкой мыши на имени решения
ExtendableAppУстановка зависимостей проектов при компиляции
Когда среде Visual Studio поступает команда запустить решение, стартовый проект и все проекты, на которые имеются ссылки, компилируются в случае обнаружения любых изменений; однако проекты, ссылки на которые отсутствуют, не компилируются. Положение дел можно изменить, устанавливая зависимости проектов. Для этого щелкните правой кнопкой мыши на имени решения в окне Solution Explorer, выберите в контекстном меню пункт Project Build Order (Порядок компиляции проектов), в открывшемся диалоговом окне перейдите на вкладку Dependencies (Зависимости) и в раскрывающемся списке Projects (Проекты) выберите
MyExtendableAppОбратите внимание, что проект
CommonSnappableTypesCSharpSnapInVBSnapIn
Теперь при каждой компиляции проекта
MyExtendableAppCSharpSnapInVBSnapInДобавление событий PostBuild
Откройте окно свойств проекта для
CSharpSnapInc-sharp-wf\code\chapterl7*.csprojВведите в области PostBuild (После компиляции) следующие две строки:
copy $(TargetPath) $(SolutionDir)MyExtendableApp\$(OutDir)$(TargetFileName) /Ycopy $(TargetPath) $(SolutionDir)MyExtendableApp\$(TargetFileName) /YСделайте то же самое для проекта
VBSnapinКогда показанные выше команды событий после компиляции добавлены, все сборки при каждой компиляции будут копироваться в каталог проекта и выходной каталог приложения
MyExtendableAppПостроение сборки CommonSnappableTypes.dll
Удалите стандартный файл класса
Class1.csCommonSnappableTypesAppFunctionality.csnamespace CommonSnappableTypes{ public interface IAppFunctionality { void DoIt(); }}Добавьте файл класса по имени
CompanyInfoAttribute.csusing System;namespace CommonSnappableTypes{ [AttributeUsage(AttributeTargets.Class)] public sealed class CompanyInfoAttribute : System.Attribute { public string CompanyName { get; set; } public string CompanyUrl { get; set; } }}Тип
IAppFunctionalityDoIt()Тип
CompanyInfoAttribute[CompanyInfо]Построение оснастки на C#
Удалите стандартный файл
Class1.csCSharpSnapInCSharpModule.cs- Предыдущая
- 334/642
- Следующая
