如何使用 F# 部署 Web 应用到 Azure Web Site?

5
当我将我的Web应用程序部署到Azure Web Site时,我遇到了以下错误:
无法加载文件或程序集“FSharp.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其某个依赖项。系统找不到指定的文件。
在以前部署到IIS服务器时,我也遇到过这种情况,并通过安装F#可再发行版来解决它。 http://www.microsoft.com/en-us/download/details.aspx?id=13450 有人知道我该怎么做才能在Azure Web Site(而不是Azure Web Role)上使其工作吗?
此外,我确实将从引用位置引用的FSharp.Core库的Copy Local设置为true。

1
你的Web应用程序本身是F#,还是一个使用F#库完成大部分工作的C#模板?如果是后者,则需要直接引用FSharp.Core。 (我经常使用F# + Azure,这是我为使其正常工作所做的最多的工作。) - ildjarn
那就是我缺失的部分。因为我已经安装了可再发行组件,所以我不需要在 Web 项目中引用 FSharp.Core。它只被引用在我的 Web 项目所引用的库中。一旦我在 Web 项目中引用了 FSharp.Core 并将复制本地设置为 true,它就可以工作了。如果您将此作为答案添加,我会接受它。 - Scott Smith
1个回答

6

来自评论的转载:

根据我的经验,在Azure中从C#项目使用F#库时,需要直接从C#项目引用FSharp.Core,以便上传正确的程序集。对于C#到C#项目的引用,“复制本地”属性似乎可以正确传播,而对于C#到F#的引用,则不行。

我认为使用--standalone标志进行编译也可能有效,但我个人没有尝试过。


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