如何在Azure功能中启动我的控制台应用程序可执行文件

时间:2017-02-24 15:27:34

标签: c# powershell azure azure-functions

我在Azure门户上创建了一个Azure-Function应用程序。

D:\home\site\wwwroot下,我有一个MyApp文件夹,其中包含可执行文件My.App.exe

我在这个文件夹中还有run.ps1 powershell脚本,我只想让powershell脚本启动exe应用程序。

我也有这个函数.json:

{
  "bindings": [
    {
      "name": "MyApp",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 */6 * * * *",
      "runOnStartup": true
    }
  ]
}

我必须在run.ps1文件中放入什么才能调用exe应用程序?

我尝试了& ".\My.App.exe",它给出了:

2017-02-24T15:15:47.204 Function started (Id=0f4b9b0b-a1f5-4812-9d93-c4017da5ac1c)
2017-02-24T15:15:51.562 & : The term '.\My.App.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
at run.ps1: line 1
+ &
+ _
+ CategoryInfo          : ObjectNotFound: (.\My.App.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

我也试过了".\My.App.exe",它给出了:

2017-02-24T15:26:29.312 Function started (Id=dced4842-069b-43c6-a055-aa06a46286c4)
2017-02-24T15:26:29.499 .\My.App.exe
2017-02-24T15:26:29.499 Function completed (Success, Id=dced4842-069b-43c6-a055-aa06a46286c4)

但是因为exe中的第一行是Console.WriteLine并且日志为空

,因此它从未启动过

放入Powershell文件的正确命令是什么?

1 个答案:

答案 0 :(得分:2)

根据评论中的讨论,一种解决方案是使用显式路径:

& 'D:\home\site\wwwroot\MyApp\My.App.exe'

您的Azure功能文件应始终位于“D:\ home \ site \ wwwroot \ {yourfunctionname} \”