У нас есть следующий общий компонент:
публичный класс OurServiceBase: System.ServiceProcess.ServiceBase Этот класс имеет функциональные возможности, которые нам нужны во всех наших последующих службах, например стандартизированное планирование выполнения и функции ведения журналов.
В новый проект я добавляю следующее:
публичный класс MyService: System.ServiceProcess.ServiceBase В конструкторе Windows класс отображается правильно.
Когда я меняю сервис на производный от OurServiceBase
публичный класс MyService: OurSharedLibrary.OurServiceBase Конструктор перестает работать:

Полная ошибка: Не удалось отобразить конструктор для этого файла, поскольку ни один из классов в нем не может быть спроектирован. Разработчик проверил следующие классы в файле: EmailProcessor --- Не удалось загрузить базовый класс OurSharedLibrary.CienaServiceBase. Убедитесь, что на сборку есть ссылка и что все проекты построены.
Ссылаются на правильные сборки, проект собирается. Я не понимаю, почему дизайнер сходит с ума по этому поводу, ведь мой сервис в конечном итоге является производным от проектируемого класса.
Любые предложения будут приветствоваться.
Дополнительная информация — стек вызовов дизайнера, когда он отображает ошибку о невозможности спроектировать производный сервис:
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument (менеджер IDesignerSerializationManager) в System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad (менеджер IDesignerSerializationManager) в Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad (IDesignerSerializationManager SerializationManager) в System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad (хост IDesignerLoaderHost) 19.07.2011, 14:34 по восточному времени Новое открытие.
Класс OurServiceBase существует в отдельном проекте (обычно упоминается только как DLL). По прихоти я скопировал файл базового класса в свой проект, собрал и открыл дизайнер. Это сработало! Когда я снова удалил файл базового класса и вернулся к внешней ссылке на DLL, дизайнер снова сломался.
Мобильная версия