В моем решении три проекта на c #. Одним из них является консольное приложение, которое просто вызывает проект библиотеки классов. Проект библиотеки классов выполняет всю обработку для приложения. Затем существует проект WinForm, который отображает форму, а затем при нажатии кнопки вызывает ту же логику в проекте библиотеки классов. В результате есть два способа запустить логику: через консоль или через пользовательский интерфейс Windows (WinForm).
Моя проблема в том, что на полпути через логику библиотеки классов, если используется приложение пользовательского интерфейса, я хочу, чтобы появилась пользовательская форма WinForm, чтобы задать пользователю вопрос.
В консольном приложении я хочу, чтобы то же место в логике просто записывалось в консоль. В моем понимании архитектуры вы не хотите, чтобы проект библиотеки классов содержал логику WinForm и требовал, чтобы он имел ссылки на все ссылки WinForm. Но как мне сделать вызов проекта WinForms (или чего-то еще) для отображения пользовательской формы WinForm? Будет циклическая ссылка, в которой библиотека классов будет ссылаться на основное приложение WinForm, а приложение WinForm будет ссылаться на проект библиотеки классов.
Какой стандартный способ сделать это?