从 Task Scheduler 调试 Windows 控制台应用程序

Debugging a Windows Console Application from Task Scheduler

我在发帖之前也检查了之前关于 Stack Overflow 的问题。

这是我的问题:

我在 Visual Studio 2017 年创建了一个 Windows 控制台应用程序。该应用程序应该从表中获取一些数据并定期发送电子邮件。最初,我创建了一个 Windows 服务,它工作正常,但后来我决定从任务计划程序执行它,因为更改计划很容易。

主要代码如下:

public static void Main(string[] args)
{
   RetrieveData();
}

stativ void RetrieveData()
{
    // Fetch data and send mails
}

有两个问题:

(1) 我无法将其附加到进程。首先,问题是当我在调试模式下启动它时,应用程序在尝试附加到进程时一进入 Main 就会退出。

(2) 当我单击 "Attach to Process" 时,.exe 名称未出现在进程名称下。

从任务计划程序执行时如何调试此应用程序?当任务计划程序触发此作业时,它甚至没有执行。

尝试使用Debugger.Launch().

将此行放在 main 中的第一行,在该项目中保持 Visual Studio 打开,编译您的项目,安排一个任务到 运行 您新编译的可执行文件,然后等待你的程序会要求你打开Visual Studio进行调试。