部署WebSharper.Suave Web应用到Heroku

3

我不明白需要做哪些改变才能实现它。我创建了一个演示项目,该项目源于这篇博客文章,并包含app.json和Procfile文件:

web: fsharpi-heroku WebsahrperSuaveHerokuExample1.sln

接下来,我按照这篇文章上的建议尝试将其部署到Heroku:

heroku create websahrper-with-suave-example --buildpack https://github.com/SuaveIO/mono-script-buildpack.git
heroku git:remote -a websahrper-with-suave-example
git push heroku master

Heroku在构建项目时出现错误:
...
Import process completed.
-----> packages.config found, installing dependencies with nuget
Cannot open assembly 'install': No such file or directory.
!     Push rejected, failed to compile SuaveFramework app

如果有解决方案,您能给我提供一些建议吗?


你可能需要先编译它,然后运行可执行文件。 - Adrian
3个回答

3

3
是的,我已经成功完成了这个任务。这是一个基于脚本的演示项目,但问题是如何使用包含.sln解决方案的目录部署现有项目。 这篇文章说:你的应用程序需要是单个脚本app.fsx(加上Heroku Procfile和dummy.sln文件),或者是包含.sln解决方案的目录(加上Heroku Procfile)。 - fpawel

2

如果你没有一个名为"app.fsx"的文件,那么ademar的解决方案应该也能够解决问题。

Heroku buildpack会检查是否有脚本,然后寻找解决方案: https://github.com/SuaveIO/mono-script-buildpack/blob/master/bin/compile#L66

只需确保项目目录中存在一个.sln文件(可以为空,只需要存在)或者fork buildpack并在编译步骤中设置默认运行mono $YOURPROJECT即可。


1
当使用sln文件而不是脚本时,您需要更改Procfile如下:

web: mono 路径/execName.exe


路径(Path)应该是什么?像bin/debug这样的东西吗? - Brian Berns
@brianberns 我的是 "src/ProjectFolder/bin/Release/execName.exe"。 - N_A

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接