如何在批处理文件中运行.net核心应用程序

时间:2019-02-28 02:06:14

标签: .net-core scheduled-tasks

我正在编写.net核心应用程序,以作为作业运行以同步数据。我在路径中添加了dotnet.exe命令,当我直接在命令行中运行应用程序时,它运行良好。

我已将应用程序部署到服务器并编写了一个批处理脚本(job.bat)来按以下方式运行它。

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

我想每5分钟运行一次作业,所以我使用下面的脚本将该批次添加到Task Scheduler中

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上运行该应用程序。

我想念什么吗?谢谢。

2 个答案:

答案 0 :(得分:0)

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

enter image description here

答案 1 :(得分:0)

终于我解决了这个问题。

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

我在路径环境中将“ c:\ Program Files \ dotnet \”移到了“ C:\ Program Files(x86)\ dotnet \”之前。我很好。