2015-09-04 3 views
1

Я использую новейший Azure SDK 2.7 и когда создаю новую облачную службу и добавляю рабочую роль F #, то Im не может изменить целевое время выполнения. Его набор равен F # 3.1/FSharp.Core 4.3.1F # Azure Worker Role and Target runtime

Есть ли какой-либо трюк, как я могу использовать F # 4.0 для рабочих ролей?

РЕШЕНИЕ:

Для того, чтобы сделать ваш F # WorkerRole работать с другими F # LIBS, которые были составлены с различной F # версии, выполните следующие действия: зависимость

  • удалить FSharp.Core из вашего (Целевая продолжительность выполнения будет установлена ​​на N/A)

  • добавить сборку перенаправить

    имя assemblyIdentity = "FSharp.Core" PublicKeyToken = "b03f5f7f11d50a3a" культура = "нейтральный" bindingRedirect oldVersion = "0.0.0.0-4.4.0.0" newVersion = "4.4.0.0"

+0

Не забудьте отметить ответ :) –

+0

@DavidCrook Я помню! позвольте мне исследовать ответы – aph5

+0

Я сторонник только потому, что у нас есть конкурс на работу для большинства ответов переполнения стека :) –

ответ

4

То, что я часто найти, что взаимодействие F # с архитектурными компонентами имеет тенденцию отставать. Чтобы решить эту проблему, я всегда переношу свои компоненты F # на C#.

Я смотрю на C#, как мой архитектурный клей в то время как F # делает реальную работу:

  1. Создание облачной службы и добавить C# Worker Role
  2. Создать учетную F # Library
  3. Добавить ссылку на Роль C# для библиотеки F #.

Solution Просмотр

enter image description here

Потребляя библиотеку из C#

enter image description here

F # Library Определение

enter image description here

1

Измените цель, заменив ссылку на DLL в вашем проекте с 4.3.1 до 4.4.0.

Вы заметите, что целевое поле со списком в проектных ссылках просто читает все, на что установлена ​​эта версия DLL. Я пробовал это, и эмулятор вычислений работал нормально.

Возможно, вам понадобится установить последнюю среду выполнения .NET на облачную службу в соответствии с this tutorial.

Смежные вопросы