2014-03-01 4 views
3

Я создал новый проект WebAPI, который ссылается на компонент, который я написал в F #. Я отлично работаю на своей локальной рабочей станции. Когда я развертываю его в Windows Azure, я получаю следующее:F # и Windows Azure

<Error><Message>An error has occurred.</Message><ExceptionMessage>Could not load file or assembly 'FSharp.Core, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.</ExceptionMessage><ExceptionType>System.IO.FileNotFoundException</ExceptionType><StackTrace> at System.Web.Http.ApiController.<InvokeActionWithExceptionFilters>d__1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__0.MoveNext()</StackTrace></Error> 

У кого-нибудь есть предложения? Я установил F # .dlls для копирования локально.

ответ

1

Добавьте файлы F # .dll в основной проект WebAPI. В противном случае он не будет включен в пакет, загруженный в Azure.

+0

Я добавил его через ссылку ..., и все еще не удалось. Затем мне пришлось вернуться и отметить его как копию местного, и это сработало. Спасибо вам обоим. –

4

Несмотря на то, что F # - замечательный язык, поддержка фрейма - это, безусловно, беспорядок. FSharp.Core не поставляется с обычной платформой .NET, а как отдельный установщик (например, this one, for F# 3.1.1). По внешнему виду, на изображениях Windows Azure OS вообще нет F #, или, по крайней мере, на версию, с которой скомпилирован ваш код.

Here's more information about the F# versioning scheme.

Когда необходимая версия FSharp.Core не доступна на целевом компьютере (как это делается в настоящее время на Windows Azure), вы должны включить FSharp.Core.dll в пакет, который вы загружаете. Here's more information about running an F# ASP.NET Web API service on Azure. Помимо всего прочего, вы должны обязательно установить Build Action правильно в Visual Studio.

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