如何在一个解决方案中使用2个项目? Winforms 和控制台应用程序 C#

问题描述 投票:0回答:1

有什么好处?你会这样做吗?

塞内里奥: 解决方案中的项目1: 我正在构建一个应用程序(WinForms 应用程序),允许用户打开 XLSX、XLS 或 CSV 并将其显示在 DataGridView 上。 DataGridView 加载后,用户界面将允许用户选择一整列(最好是帐户编号),然后按按钮打开另一个表单,其中包含一个显示所有帐户编号和 2 MonthCalendars 的列表框,允许用户选择一个开始和结束日期,只需单击一个按钮即可执行我的其他程序以及所有必要的参数。

解决方案中的项目2: 另一个项目是一个控制台应用程序,将采用 3 个参数(逗号分隔值的字符串:即:帐户#s“8792383,8945928952,0952092,....”,字符串格式的开始日期,字符串格式的结束日期)。在此项目中,帐号字符串将被拆分为数组或字符串列表,日期将根据时间范围按月间隔拆分,即:01/01/2023 - 04/01/2023 将是 01/01/ 2023 - 01/31/2023、02/01/2023 - 02/28/2023、03/01/2023 - 03/31/2023 等 然后,程序将使用所有这些数据查询 Oracle 数据库,并一次选择 50 个帐户#,遍历每个月间隔,例如 01/01/2023 - 01/31/2023,然后是 02/01/2023 - 02/28 /2023等这个过程将需要很长时间。我需要更好的建议。 所有数据库查询结束后,所有内容都在转换为数据表的列表中。我想返回到项目 1(Winforms 应用程序)并将新数据表与新数据附加到旧表,以便用户在输出新的 CSV 或 XLSX 电子表格之前首先查看数据。

如果我把事情搞得太复杂了,请告诉我。无论如何,我希望这段经历能够对我的技能有所帮助。我最近是一名新毕业生。

还有旁注:我希望能够进入并启动程序并将其移动到屏幕一侧,而无需锁定 UI。

我已经构建了 Winforms 并启动了我的控制台应用程序。在我投入太多的精力去做一些现在可能会像我预期的那样的事情之前,我不想走得太远。我还没有将两个项目连接在一起,就像使用 Process.Start() 方法从另一个项目执行我的 .exe 一样,因为我还没有在项目中构建我的 .exe 文件。我这样做的唯一原因是因为我想要对我的控制台应用程序进行明确/受控的输入。例如,当有人向我发送电子表格(xlsX)时,我希望能够加载它,选择具有正确帐户编号的列,然后针对我的数据库运行它。

.net oracle winforms console-application
1个回答
0
投票

您不需要第二个项目,将其合并到一个项目中,其中(项目 2)中描述的函数在类中编码,然后可以作为单独的线程运行较长的进程。如果需要重用(项目2)中的函数,请将其作为类库。

© www.soinside.com 2019 - 2024. All rights reserved.