gpt4 book ai didi

.net - Azure WebJob 中缺少 dotnet.exe

转载 作者:行者123 更新时间:2023-12-03 14:47:52 25 4
gpt4 key购买 nike

我正在尝试将 .NET Core 控制台应用程序部署为 Azure WebJob。所有文件等都被复制到正确的目录,但我的控制台应用程序的输出是 .dll,因此它需要 dotnet.exe 才能启动。

我使用单个命令添加了一个 run.cmd 文件:dotnet QbiSync.dll。但输出如下,似乎找不到dotnet.exe:

[11/14/2016 13:15:29 > 4741da: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
[11/14/2016 13:15:29 > 4741da: SYS INFO] Status changed to Running
[11/14/2016 13:15:29 > 4741da: INFO]
[11/14/2016 13:15:29 > 4741da: INFO] D:\local\Temp\jobs\continuous\QbiSync\x4jkoxww.vy4>dotnet QbiSync.dll
[11/14/2016 13:15:29 > 4741da: ERR ] 'dotnet' is not recognized as an internal or external command,
[11/14/2016 13:15:29 > 4741da: ERR ] operable program or batch file.
[11/14/2016 13:15:29 > 4741da: SYS ERR ] Job failed due to exit code 1
[11/14/2016 13:15:29 > 4741da: SYS INFO] Process went down, waiting for 60 seconds

使用 Kudu 或在 Azure 门户中打开控制台窗口并调用 dotnet.exe 都可以正常工作。我也尝试过硬链接(hard link),例如:

  • “D:\Program Files (x86)\dotnet\dotnet.exe”QbiSync.dll
  • “\Program Files (x86)\dotnet\dotnet.exe”QbiSync.dll

但它们也会给出如下错误:

[11/14/2016 13:59:29 > 4741da: ERR ] The filename, directory name, or volume label syntax is incorrect.
[11/14/2016 13:59:29 > 4741da: INFO] D:\local\Temp\jobs\continuous\QbiSync\hzlkzj1q.0jt>"D:\Program Files (x86)\dotnet\dotnet.exe" QbiSync.dll

尽管 dotnet.exe 实际上位于那里。

更新:

可能相关的是源代码在脚本开头使用了@echo off。但这也是一个似乎不被接受的“命令”。

[11/14/2016 12:37:57 > 4741da: INFO] D:\local\Temp\jobs\continuous\QbiSync\3n44nly1.ucq>@echo off 
[11/14/2016 12:37:57 > 4741da: INFO]
[11/14/2016 12:37:57 > 4741da: ERR ] '@echo' is not recognized as an internal or external command,

使用的来源:

最佳答案

问题是您的 run.cmd 使用 UTF-8 和 BOM (字节顺序标记),在某些情况下会导致脚本引擎行为异常。修复方法是没有 BOM。

维基百科 ( https://github.com/projectkudu/kudu/wiki/Web-Jobs ) 上提到了这一点,但很容易被忽略。

关于.net - Azure WebJob 中缺少 dotnet.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40591418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com