使用Task Scheduler在Windows上安排.Net Core控制台应用程序

时间:2017-04-24 18:18:30

标签: .net asp.net-core .net-core

是否可以使用任务计划程序安排.net核心控制台应用程序每天在特定时间运行?

5 个答案:

答案 0 :(得分:21)

我认为在将任务计划程序中的任务创建到app文件夹时,您必须设置“Start in”的值,即D:\ Test \ Test1。该应用程序将在此文件夹中运行,并且应该能够找到appsettings文件。

答案 1 :(得分:2)

我有两个小时遇到类似问题,试图为此寻求答案。

您只需为.Net Core控制台应用程序做的所有事情!

  • 转到您的任务计划程序
  • 转到标签菜单,然后单击“操作”
  • 点击新建/编辑
  • 选择下拉列表:操作:启动程序
  • 程序/脚本:“ C:\ Document \ MyConsoleApp.exe”

------>注意非常重要。将您的控制台路径放在您的应用程序路径中,因为任务计划程序将必须读取配置 -开始于(可选):C:\ Document \

这解决了我的问题。

干杯!!!

答案 2 :(得分:1)

使用内容“ dotnet myDLL.dll”创建一个.bat文件 在行动 程序/脚本->“ c:\ yourpath \ myBatFile.bat” 从->“ c:\ yourpath”

开始

完成。

答案 3 :(得分:0)

默认情况下,应用会根据以下内容查看当前文件夹中是否存在appsettings.json

    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
        .AddEnvironmentVariables();
    Configuration = builder.Build();

"appsettings.json"替换为文件的完整路径。

答案 4 :(得分:0)

是的,有可能。但是有一个窍门。由于某种原因,任务计划程序要求托管过程使用完整路径和文件名,因此您需要输入“程序/脚本”“ C:\ Program Files \ dotnet \ dotnet.exe”。在Windows Server 2012 R2上使用最新补丁程序对此进行了确认。 .Net Core程序进入参数框,那里不需要完整路径。但是,“开始于”中需要.Net核心程序位置路径。至少在程序期望从其位置查找某些文件的情况下。