【问题标题】:How to run .net core application in batch file如何在批处理文件中运行 .net 核心应用程序
【发布时间】:2019-02-28 02:06:14
【问题描述】:

我正在编写一个 .net 核心应用程序以作为同步数据的作业运行。我已将 dotnet.exe 命令添加到 Path,当我直接在命令行中运行应用程序时效果很好。

我已经将应用程序部署到服务器并编写了一个批处理脚本(job.bat)来运行它,如下所示。

cd D:\the\folder\where\the\app\locate
dotnet TheJobToBeExecuted.dll

我想每 5 分钟运行一次作业,所以我使用下面的脚本将批处理添加到任务计划程序

schtasks /create /tn "Job" /tr "D:\the\folder\where\the\batch\locate\job.bat" /sc minute /mo 5

但这项工作没有按预期工作。然后我如下更改 job.bat 以查看发生了什么。

cd D:\the\folder\where\the\app\locate
dotnet TheJobToBeExecuted.dll
pause

消息如下所示

Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

但是我已经安装了dotnet并将其添加到服务器上的路径中,我也可以直接在服务器cmd上运行应用程序。

我错过了什么吗?谢谢。

【问题讨论】:

    标签: .net-core scheduled-tasks


    【解决方案1】:

    请在 powershell 中运行“get-command dotnet”并使用您的环境变量路径检查结果。

    【讨论】:

    • 得到了相同的结果,除了版本。
    【解决方案2】:

    我终于解决了这个问题。

    我的机器中有两个版本的 dotnet core runtime。一个在“Program Files (x86)”文件夹中,另一个在“Program Files”目录中。它们都包含在路径环境中。

    我在路径环境中将“c:\Program Files\dotnet\”移动到“C:\Program Files (x86)\dotnet\”之前。我工作正常。

    【讨论】:

      猜你喜欢
      • 2019-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多