如何在CloudFoundry上启动.NET控制台应用程序?

如何在CloudFoundry上启动.NET控制台应用程序?,.net,cloud-foundry,.net,Cloud Foundry,我们正在尝试将应用程序中的某些Windows服务转换为控制台应用程序,以便将它们推送到CF上。在尝试使用示例.net控制台应用程序时,我遇到以下错误: 2018-09-26T14:36:42.92+0530 [APP/PROC/WEB/0] ERR Error: no start command specified during staging or launch 2018-09-26T14:36:43.98+0530 [APP/PROC/WEB/0] OUT Exit status 1 201

我们正在尝试将应用程序中的某些Windows服务转换为控制台应用程序,以便将它们推送到CF上。在尝试使用示例.net控制台应用程序时,我遇到以下错误:

2018-09-26T14:36:42.92+0530 [APP/PROC/WEB/0] ERR Error: no start command specified during staging or launch
2018-09-26T14:36:43.98+0530 [APP/PROC/WEB/0] OUT Exit status 1
2018-09-26T14:36:55.72+0530 [CELL/0] OUT Cell f80753e2-393c-411d-a662-6a49de7e44ce stopping instance a86af9f8-11f0-41ad-7f84-f518
2018-09-26T14:36:55.72+0530 [CELL/0] OUT Cell f80753e2-393c-411d-a662-6a49de7e44ce destroying container for instance a86af9f8-11f0-41ad-7f84-f518
2018-09-26T14:36:55.73+0530 [API/1] OUT Process has crashed with type: "web"
2018-09-26T14:36:55.77+0530 [API/1] OUT App instance exited with guid b9260f94-1097-4cf1-b181-a5ce1a2aa02e payload: {"instance"=>"a86af9f8-11f0-41ad-7f84-f518", "index"=>0, "cell_id"=>"f80753e2-393c-411d-a662-6a49de7e44ce", "reason"=>"CRASHED", "exit_description"=>"APP/PROC/WEB: Exited with status 1; process did not exit", "crash_count"=>2, "crash_timestamp"=>1537952815635562745, "version"=>"a53c5691-7d64-4030-82f0-91a85ead97b5"}*
我使用此命令将应用程序推送到CF上:

cf push CloudConsoleApp --health-check-type none -s windows2016 -b binary_buildpack --no-route
我能够推送一个.Net核心控制台应用程序,并让它在同一个CF实例上运行。
有人能告诉我这里缺少什么吗?

有几件事你可以试试

cf push CloudConsoleApp--运行状况检查类型none-s windows2016-b binary_buildpack--无路由

在过去,您需要使用二进制构建包。这不再是事实,尽管你仍然可以使用它。通常,您应该在Windows上的.NET应用程序中使用hwc_buildpack

请尝试
cf push CloudConsoleApp--运行状况检查类型none-s windows2016--no route-b hwc_buildpack

如果这不起作用,您仍然可以使用二进制构建包,但是二进制构建包什么也不做。它不安装任何东西,不知道如何构建你的应用程序,也不知道如何运行你的应用程序。因此,如果hwc_构建包不适合您,那么您还需要指定一个命令来启动应用程序。因此,请尝试以下操作:
cf push CloudConsoleApp——运行状况检查类型none-s windows2016-b binary\u buildpack——no route-c'my\u app.exe'
(或运行应用程序的任何命令)

使用二进制构建包,您还需要推送一个已编译并准备运行的应用程序。二进制构建包什么都不做,甚至不编译你的应用程序,而hwc_构建包知道更多,可以构建你的应用程序


希望有帮助

我用这句话做了一个poc,然后工作了

cf push SimpleConsole --health-check-type none --no-route -s windows2016 -b hwc_buildpack -p .\Release -c SimpleConsole.exe
释放路径包含exe文件,-c参数必须具有cf运行时将运行的命令。 hwc.exe是托管Web核心API的包装器 我添加了web.config作为application.config的克隆。
希望有帮助。

.Net core在linux和windows容器上工作。对于.Net framework,情况并非如此。对于PCF,要运行.Net framework应用程序,首先需要使用Windows工作负载设置Diego计算单元。你做到了吗?