Какой лучший способ для приложения формы Windows настроить планировщик задач для запуска некоторых классов, которые уже включены в это приложение? (. NET) - PullRequest
0 голосов
/ 14 июля 2020

Сложно перечислить все вещи в заголовке.

Вот моя ситуация, у меня есть VB. Net Windows приложение формы, которое давно построило go другими разработчиками. Теперь мне нужно создать для него новую функцию. Текущее приложение требует, чтобы пользователь сначала вошел в систему и выполняет все действия, щелкая и проверяя. Новая функция позволяет пользователю планировать время для выполнения всех задач автоматически.

Я выполнил часть планировщика задач в текущем приложении, чтобы пользователь мог установить время для выполнения ЗАДАЧИ. Но для этой ЗАДАЧИ моей первой мыслью было создать консольное приложение, которое может иметь другой файл .exe для выполнения планировщиком задач. Консольное приложение ссылается на некоторые из соответствующих классов из основного приложения для автоматического запуска всех процессов. В конце концов, когда пользователь установит приложение, в папке появятся два .exe. Один для обычного способа обработки данных (пользователь). Другой .exe предназначен для выполнения планировщиком задач (автоматизация).

Я сделал, и он работал нормально. Однако я думаю, что это не лучший способ сделать это, потому что в одном решении не должно быть двух файлов .exe (верно?). Кроме того, я использовал текущий способ, в котором я просто импортировал основной проект в новое консольное приложение в качестве ссылки для использования соответствующих классов и функций. Я мог бы сделать эти классы библиотекой классов (.dll) для использования в обоих проектах, но у них все еще есть два файла .exe.

Что было бы лучше в этой ситуации? Действительно ли консольное приложение необходимо?

Спасибо.

1 Ответ

0 голосов
/ 14 июля 2020

Нет ничего плохого в том, чтобы объединить несколько проектов приложений в одном решении. У вас может быть столько, сколько вам нужно для выполнения необходимой работы. При этом один проект приложения не должен ссылаться на другой проект приложения. Правильный способ - выделить общие функции в один или несколько проектов библиотеки, а затем сделать так, чтобы каждый проект приложения ссылался на них. в первую очередь. Если у вас есть этот общий код, разбросанный по разным формам, то рефакторинг будет абсолютной болью. Если у вас есть все в типах и членах, которые подчиняются принципу единой ответственности, тогда рефакторинг будет простым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...