2015-09-04 23 views
1

我正在使用最新的Azure SDK 2.7,當我創建新的Cloud Service並添加F#worker角色時,則無法更改目標運行時。它設置爲F#3.1/FSharp.Core 4.3.1F#Azure Worker角色和目標運行時

是否有任何技巧我如何使用F#4.0作爲工作角色?

SOLUTION:

爲了使您的F#WorkerRole與其他F#庫工作,這被編譯不同的F#版本,請執行下列操作:從

  • 刪除FSharp.Core依賴你工作人員角色項目(目標運行時間將設置爲N/A)

  • add assembly redirect

    assemblyIdentity名稱= 「FSharp.Core」 公鑰= 「b03f5f7f11d50a3a」 文化= 「中性」 bindingRedirect oldVersion = 「0.0.0.0-4.4.0.0」 NEWVERSION = 「4.4.0.0」

+0

不要忘記標記答案:) –

+0

@DavidCrook我記得!讓我來調查答案 – aph5

+0

我是一個堅持者,僅僅因爲我們在大多數堆棧溢出問題的工作中都有一個競爭:) –

回答

4

我經常發現F#與建築組件的交互有落後的趨勢。爲了解決這個問題,我總是用C#包裝我的F#組件。

我看C#作爲我的建築膠水,而F#做真正的工作:

  1. 創建一個雲服務,並添加一個C#工作者角色
  2. 創建一個F#庫
  3. 一個引用添加到F#庫的C#工作者角色。

解決方案查看

enter image description here

從C#

enter image description here

F#庫定義

enter image description here

消費圖書館0
1

通過將項目中的DLL引用從4.3.1更換爲4.4.0來更改目標。

您會注意到項目引用中的目標組合框只是讀取該DLL版本設置的任何內容。我試過了,計算模擬器運行得很好。

根據this tutorial,您可能需要在雲服務上安裝最新的.NET運行時。

相關問題