我有一个控制台应用程序解决方案,其中包含多个项目,我将其部署为Azure Webobs。部署进行得很顺利但是webjob对解决方案中的启动项目一无所知。执行webjob时,它从列表中选择第一个.exe文件并运行它。这是不正确的,需要知道如何将启动项目强制执行到webjobs。想提一下,我可以手动从azure webjob控制台运行启动exe,但是调度进程在运行时不知道启动exe。
答案 0 :(得分:3)
我们可以从official document获得答案。以下是该文档的摘录。如果我们想首先运行.exe,我们可以将其命名为 run.exe 。
我们使用以下逻辑来确定哪个文件是在作业目录中运行的脚本: 对于每个文件类型,我们首先查找名为的文件: run。{file type extension} (例如run.cmd或run.exe)。 如果它对所有文件类型都不存在,那么我们将查找具有支持的文件类型扩展名的第一个文件。 使用的文件类型扩展名的顺序为:.cmd,.bat,.exe,.ps1,.sh,.php,.py,。js。
以下文件类型被接受为可用作作业的可运行脚本:
- fsx(使用F#fsi.exe交互式编译器)
- cmd,.bat,.exe(使用windows cmd)
- ps1(使用powershell)
- sh(使用bash)
- php(使用php)
- py(使用python)
- js(使用节点)