F#Azure Worker角色和目标运行时

时间:2015-09-04 12:02:26

标签: azure f# azure-worker-roles

我正在使用最新的Azure SDK 2.7,当我创建新的Cloud Service并添加F#worker角色时,我无法更改目标运行时。它设置为F#3.1 / FSharp.Core 4.3.1

有什么技巧我怎样才能将F#4.0用于工作者角色?

SOLUTION:

为了使您的F#WorkerRole能够与针对不同F#版本编译的其他F#库一起使用,请执行以下操作:

  • 从您的辅助角色项目中删除FSharp.Core依赖关系(目标运行时将设置为N / A)

  • 添加程序集重定向

    assemblyIdentity name =“FSharp.Core”publicKeyToken =“b03f5f7f11d50a3a”culture =“neutral” bindingRedirect oldVersion =“0.0.0.0-4.4.0.0”newVersion =“4.4.0.0”

2 个答案:

答案 0 :(得分:4)

我经常发现F#与架构组件的交互有落后的倾向。要解决这个问题,我总是用C#包装我的F#组件。

我认为C#是我的建筑胶水,而F#是真正的工作:

  1. 创建云服务并添加C#工作者角色
  2. 创建F#库
  3. 添加对F#Library的C#辅助角色的引用。
  4. 解决方案视图

    enter image description here

    从C#中消耗库

    enter image description here

    F#库定义

    enter image description here

答案 1 :(得分:1)

通过将项目中的DLL引用从4.3.1替换为4.4.0来更改目标。

您会注意到项目引用中的目标组合框只读取此DLL版本设置的内容。我试过这个,计算模拟器运行得很好。

您可能需要根据this tutorial在云端服务上安装最新的.NET运行时。